home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d18 / pascal4.arc / PASCAL.B07 < prev   
Text File  |  1989-02-07  |  217KB  |  6,465 lines

  1. =
  2.  
  3.  
  4.  
  5. From:    Mike Janke 
  6. To:      Rolf Thomassen                           Msg #2, 26-Jan-89 05:26pm
  7. Subject: Re: Help On The Way
  8.  
  9.  >   WHILE KeyPressed DO IF ReadKey = #0 Then ;
  10.  
  11. Can you explain the Then without anything following it?  I first saw that in a
  12. example in the Turbo Pro manual and thought it was a misprint... but the darn
  13. thing worked.
  14.  
  15. --- FD 2.00
  16.  * Origin: Kendall BBS - Miami's First QuickBBS  (1:135/4)
  17.  
  18. *** There is a reply. See #96.
  19.  
  20.  
  21. From:    Mike Janke 
  22. To:      Patrick Edwards                          Msg #3, 26-Jan-89 05:47pm
  23. Subject: Pascal Sucks
  24.  
  25.  >  >   IReally Think Pascal Sucks !!!!! Sucks So Bad That I Cant
  26.  
  27.  > Basic is good, but you have to look at what is possible in
  28.  > pascal, sure its very stricted but theres ways of getting
  29.  
  30. You should be awarded for the composure you displayed in your message to
  31. that... person.
  32.  
  33. --- FD 2.00
  34.  * Origin: Kendall BBS - Miami's First QuickBBS  (1:135/4)
  35.  
  36. *** There is a reply. See #28.
  37.  
  38.  
  39. From:    Tom Keifer 
  40. To:      Jim Forbes                               Msg #4, 27-Jan-88 08:27pm
  41. Subject: Re: Compiler Directives
  42.  
  43. ->  TP5 Reference Guide pg. 430  "Compiler directives in the
  44. -> source code
  45. ->  always override the default values in both the
  46. -> command-line compiler
  47. ->  and the IDE."
  48. ->
  49. ->    The following is a piece of code from a program that I
  50. -> am writting.
  51. ->                                     .
  52. ->                                     .
  53. ->  {I$-} REPEAT
  54.  
  55. Ok, there's your problem it should be {$I-} not {I$-}  (the '$' First!)
  56.  
  57. THen it should work properly.
  58.  
  59. ->              GOTOXY(52,Num_Address+7); WRITE(' ':5); {Erase
  60. -> any errors   }
  61. ->              GOTOXY(52,Num_Address+7);               {if
  62. -> loop is necessary}
  63. ->              READ(Value);
  64. ->        UNTIL IORESULT=0;
  65. ->  {I$+} IF Value IN [0..Num_Address]   {Note: 0 implies none
  66. -> chosen}
  67.  
  68.    You have to change it here also to {$I+}
  69. --- QuickBBS v2.01
  70.  * Origin: The Expressions BBS 305-884-5355 Miami Springs Fla. 135/39
  71. (1:135/39)
  72.  
  73. *** There is a reply. See #152.
  74.  
  75.  
  76. From:    Scott Samet 
  77. To:      Charles Falconer                         Msg #5, 28-Jan-89 12:38pm
  78. Subject: Re: Records in Files
  79.  
  80.  >  >   therecd := rcdfile^;
  81.  >  >   get (rcdfile);
  82.  >
  83.  > You are absolutely right - I stand corrected.  However, the STANDARD
  84.  > meaning of read (defined in the STD) is "var := f^; get(f)".  My own
  85.  > compiler won't accept the read(record).
  86.  
  87. The standard only defines READ for textfiles, although many compilers accept
  88. it for typed files.  Turbo Pascal nothing but READ.
  89.  
  90. --- FD TosScan .16 (286)
  91.  * Origin: Friends of Dorothy: Flying House doing Mach 10 (1:135/990)
  92.  
  93.  
  94. From:    Scott Samet 
  95. To:      Dave Goggin                              Msg #6, 28-Jan-89 12:40pm
  96. Subject: FUNCTION RETURN STRING?
  97.  
  98.  > Unless Turbo Pascal is different than regular pascal (in this case) I
  99.  > don't see how you can return a string, from a function.  I though you
  100.  > couldn't return structured variables from a function.
  101.  
  102. It is different, you can return strings.
  103.  
  104. --- FD TosScan .16 (286)
  105.  * Origin: Friends of Dorothy: Flying House doing Mach 10 (1:135/990)
  106.  
  107. *** There is a reply. See #55.
  108.  
  109.  
  110. From:    Wes Fisher 
  111. To:      Mike Janke                               Msg #7, 28-Jan-88 08:05am
  112. Subject: Thanx!!
  113.  
  114. Thanx for your help on the bits!!  Would have crashed ya, but I don't have
  115. the money to pay for Long Distance calls!  Thanx, It works great, and I'm
  116. now using it.
  117.  
  118. Wes
  119. --- QuickBBS v2.03
  120.  * Origin: WriteLn('I`ve got Pascal's Elbow!');  Connect 2400! (1:130/39)
  121.  
  122. *** There is a reply. See #154.
  123.  
  124.  
  125. From:    James Snart 
  126. To:      All                                      Msg #8, 27-Jan-89 09:17am
  127. Subject: COMM source
  128.  
  129. Does anyone know I can find a Turbo Pascal source for a small communication
  130. program.  I have pibterm 4.0 but it's too big and most options I never use.
  131. --- QuickBBS v2.03
  132.  * Origin: Somewhere on Cherry St. (1:170/211)
  133.  
  134.  
  135. From:    Lou Garner Of 150/501 
  136. To:      Bruno De.montis                          Msg #9, 22-Jan-89 10:48pm
  137. Subject: Re: UPDATE POLICY
  138.  
  139.  >Quoting Borland's license agreement :
  140.  >
  141.  >"To take advantage of this upgrading procedure, you must send:
  142.  > >> The discs and manuals of your product.
  143.  >So I don't know *how* you could sell the previous version of the 
  144. soft.
  145.  
  146. I don't know where that policy comes in.  I upgraded both TC and TP
  147. in the big package, handled everything by phone, and have my old TP 
  148. and
  149. TC manuals an
  150.  
  151. --- ConfMail V4.00
  152.  * Origin: Megaboard ]I[ (717)561-8150 Hayes 9600v (1:150/513)
  153.  
  154.  
  155. From:    Randy French 
  156. To:      All                                      Msg #10, 26-Jan-89 12:10pm
  157. Subject: Volume Labels
  158.  
  159. Does anyone know of an EASIER way to write/change volume labels without using
  160. FCB's?  I have a unit that uses FCB's to write/change a volume label but I'm
  161. trying to find an easier way if possible.
  162.   
  163.                                             Thanks for any info,
  164.                                             Randy French
  165.  
  166.  
  167. ---
  168.  * Origin: The Questor Project - (703) 525-7220 HST (Opus 1:109/130)
  169.  
  170.  
  171. From:    Charles Falconer 
  172. To:      Holger Schurig                           Msg #11, 27-Jan-89 08:38am
  173. Subject: Generate system errors
  174.  
  175.  > CF> - Means to generate a system error. Can be done now
  176.  > CF> - with exitproc and halt, but awkward.
  177.  >
  178.  > Please explain. You can generate a system error (if you
  179.  > ever want this) by accessing to drive Z:, which should
  180.  > not be accesible. Or set the refresh count to a very low
  181.  
  182. For example, I have a unit TXTFILES that implements ISO standard versions of
  183. read for integer, real, etc, together with versions that return error booleans
  184. rather than aborting.  When they abort I want to generate the same error as
  185. Turbo originally did.  I can do this by setting a flag and halting with an
  186. error code, and the initialization for the unit has linked into the exit
  187. procedure chain.  At exit I then give a verbal message, rather than the
  188. cryptic error #.  So far all works fine, but if the system is run in the
  189. integrated environment the error is ignored, and I dont get the editor
  190. positioned etc.  (I have used some code to pick off the callers address to the
  191. readint procedure, and stored that as the error location).  All works fine, at
  192. least in TP4, except for the integrated environment.
  193.  
  194. I hate cryptic error messages, so one day I plan to create a baby unit that
  195. will translate them into verbiage.  This has the added advantage that you can
  196. add a message to your own systems telling the user to report the problem
  197. (which should not have happened).
  198.  
  199.  
  200. ---
  201.  * Origin: Alice's Restaurant (Opus 1:141/488)
  202.  
  203.  
  204. From:    Charles Falconer 
  205. To:      Holger Schurig                           Msg #12, 27-Jan-89 08:51am
  206. Subject: Re: USES style
  207.  
  208.  > CF> Poor mans equivalent of "FROM module IMPORT ..."
  209.  >
  210.  > I have never understand the need this FROM module IMPORT
  211.  > <long list of> everything i want to use> in Modula. One reason
  212.  > might be to simplify the compiler.  But a good compiler should
  213.  > work for me, not i for him !
  214.  
  215. Of course tastes vary.  I want to know where to look for the details if
  216. needed, and having an extremely short memory I want to do a search in the
  217. current file.  A split screen editor helps.  Thus I often use NE (Norton
  218. editor), which is fast, small, and allows me to manipulate 2 files.  I often
  219. find myself extracting a procedure header or such from one to the other and
  220. commenting it out, just to have it available for later reference.
  221.  
  222. For similar reasons I hate systems that clear the screen without being told. 
  223. Rather than complex linkages, simply leave the previous report such as a
  224. directory, on the furshlugginer screen.  For example, Telix allows me to call
  225. a directory, but then clears.  Now I go through the
  226. transmit sequence, and mis-remember the exact name.  Around we go again.
  227.  
  228.  
  229. ---
  230.  * Origin: Alice's Restaurant (Opus 1:141/488)
  231.  
  232. *** There is a reply. See #116.
  233.  
  234.  
  235. From:    Charles Falconer 
  236. To:      Holger Schurig                           Msg #13, 27-Jan-89 09:03am
  237. Subject: Re: GOTOs
  238.  
  239.  > {$B+} { boolean evaluation must be set to short-circuit
  240.  
  241.  
  242.  > for this ! }
  243.  > REPEAT
  244.  >   IF NOT (part1 AND part2 AND part3) THEN <other code>
  245.  > UNTIL done;
  246.  
  247. I avoid that type of code simply because short circuit evaluation is not part
  248. of the ISO standard, and the resultant portability bugs, or problems if Turbo
  249. is set for sequential conjunction, are extremely hard to find.  If partN is a
  250. procedure the net difference in running time must be miniscule.  I do however
  251. <sometimes> use
  252.  
  253.   IF (i <= max) AND (xarray[i] <> 9) THEN BEGIN  (* COMMENT here *)
  254.  
  255. for efficiency and readability.
  256.  
  257. An earlier message of yours mentioned errors by altering refresh.  I don't
  258. understand.
  259.  
  260.  
  261. ---
  262.  * Origin: Alice's Restaurant (Opus 1:141/488)
  263.  
  264. *** There is a reply. See #117.
  265.  
  266.  
  267. From:    Paul Lindquist 
  268. To:      All                                      Msg #14, 26-Jan-89 03:54pm
  269. Subject: WILDCARDS
  270.  
  271. I am writing a simple filter program to use with my BBS program.  I am wanting
  272. to take all files that match a wildcard criteria and process them. I want to
  273. know how I can define how to read wildcard, etc. from my DOS directory.
  274.  
  275. IE I want to process all .TXT files, I would type filter *.txt.  How could i
  276. get this to list out file1.txt, file2.txt, file3.txt, etc.
  277.  
  278. Paul Lindquist
  279. --- TBBS v2.0
  280.  * Origin: TBBS in '89, We aren't QUICKly Lost in Time 918-744-0249 (170/210)
  281.  
  282. *** There is a reply. See #15.
  283.  
  284.  
  285. From:    Bruce Mahoney 
  286. To:      Paul Lindquist                           Msg #15, 27-Jan-89 06:42pm
  287. Subject: Re: WILDCARDS
  288.  
  289. -------
  290. var sr : SearchRec;
  291. begin
  292.   FindFirst( '*.TXT', 0, sr );
  293.   While DosError = 0 do
  294.   begin
  295.     { do your process with sr, is = filename }
  296.     FindNext( sr )
  297.   end;
  298. -----
  299. Must have 'USES Dos;'
  300. --- QuickBBS v2.03
  301.  * Origin: ]≡[ The Pascal Programmer's Club ]≡[ (918) 438-2749 (1:170/403)
  302.  
  303. *** Part of a conversation.
  304.  
  305.  
  306. From:    Brian Maher 
  307. To:      Pat Anderson                             Msg #16, 26-Jan-89 03:27am
  308. Subject: Re: C versus PASCAL
  309.  
  310. Pat, Have you considered switching to one of the Modula-2 compilers that are
  311. out there?
  312.  
  313. I personally use the FST Modula-2 compiler and have found it to be a terrific
  314. compiler.
  315.  
  316.  
  317.  
  318. ---
  319.  * Origin: BECS MSDOS OPUS, Bellevue, WA - 206/451-1274 (Opus 1:343/101)
  320.  
  321. *** There is a reply. See #59.
  322.  
  323.  
  324. From:    Mike Hinds 
  325. To:      Matt Franckiewicz                        Msg #17, 26-Jan-89 12:18pm
  326. Subject: Nan
  327.  
  328.  MF> The 5.0 manual says that certain real numbers are NaN 's.  So what is a 
  329.  MF> NaN?
  330.  
  331. Not A Number - more of a philosophical concept than hard math, but the 
  332. processor has been taught to recognize certain values as representing NaNs. TP
  333. didn't bother.
  334.  
  335.  
  336. --- msged 1.96L MSC
  337.  * Origin: /\/\ Turbo NorthWest \-\ Everett, Washington  (1:343/27.2)
  338.  
  339.  
  340. From:    Mike Hinds 
  341. To:      Tom Bocchino                             Msg #18, 26-Jan-89 12:24pm
  342. Subject: File Move Procedure
  343.  
  344.  TB> Would anybody know where I might be able to get a procedure to move a 
  345.  TB> file
  346.  TB> from one directory to another directory.
  347.  
  348. You won't believe it until you try it, but the Rename procedure will do 
  349. exactly what you need (ASSuME-ing, of course, that the source and destination 
  350. directory are on the same drive). Try this:
  351.  
  352. VAR F : File;
  353.  
  354. BEGIN
  355. Assign(F, 'C:\DIR1\TESTFILE.TST');
  356. Rename(F, 'C:\DIR2\TESTFILE.TST');     { full path name a MUST! }
  357. END.
  358.  
  359. Could it possible be easier?
  360.  
  361.  
  362.  
  363. --- msged 1.96L MSC
  364.  * Origin: /\/\ Turbo NorthWest \-\ Everett, Washington  (1:343/27.2)
  365.  
  366. *** There is a reply. See #82.
  367.  
  368.  
  369. From:    Mike Hinds 
  370. To:      Michelle Wyner                           Msg #19, 26-Jan-89 12:30pm
  371. Subject: TP 5.0
  372.  
  373.  MW> I just got TP 5.0.  REAL great program, but the users manual doesn't 
  374.  MW> help much in learning Pascal.  I've read it from front to back, and I 
  375.  MW> know the basics, but I need to know more.  Can anyone suggest a program 
  376.  MW> (not the TP tutor for $69.95) or a book (under $20.00 preferably) 
  377.  MW> that'll help me?  Thanks.
  378.  
  379. By all means get Mastering Turbo Pascal 4.0 by Tom Swan. You won't be sorry. 
  380. His book is nearly legendary, and applies well to TP5.
  381.  
  382. By all means DO NOT get Mastering Turbo Pascal 5 by another author, who ripped
  383. off Tom Swan's title, and by several accounts has nothing to say that you 
  384. probably don't already know.
  385.  
  386. Other good recommendations include The Complete Pascal (fat black book, author
  387. forgotten) and Turbo Pascal Tutor by (guess who!) Borland, includes program 
  388. disk(s). Some reservations on that one - others in this echo have mentioned 
  389. bugs in their program, but still a worthwhile learning tool.
  390.  
  391.  
  392. --- msged 1.96L MSC
  393.  * Origin: /\/\ Turbo NorthWest \-\ Everett, Washington  (1:343/27.2)
  394.  
  395. *** There is a reply. See #26.
  396.  
  397.  
  398. From:    Mike Hinds 
  399. To:      Dave Hess                                Msg #20, 26-Jan-89 12:56pm
  400. Subject: Help
  401.  
  402.  DH> I declared the top window something like 
  403.  DH> this...WINDOW(1,1,81,1) and the bottom I think Window(24,1,104,1)??? 
  404.  DH> What am I doing wrong?
  405.  
  406. Just like your ClrScr problem. You haven't read the manual.
  407.  
  408.  
  409.  
  410. --- msged 1.96L MSC
  411.  * Origin: /\/\ Turbo NorthWest \-\ Everett, Washington  (1:343/27.2)
  412.  
  413. *** There is a reply. See #31.
  414.  
  415.  
  416. From:    Reinhardt Mueller 
  417. To:      Andy Lester                              Msg #21, 26-Jan-89 09:02pm
  418. Subject: Re: A Little Problem
  419.  
  420. AL> So, yeah, I've done a little bit of Pascal programming, and
  421. AL> I'm glad we did it in Pascal, because it's been very easy to
  422. AL> maintain, although Apple Pascal is abominably slow and has a
  423. AL> few bugs in it.
  424.  
  425. AL> We ARE looking at phasing IBM clones as the Apples die, and
  426. AL> that development is being done in Turbo 4.0. We just port
  427. AL> over the source code, make some changes here and there, and
  428. AL> run it.
  429.  
  430. Make SOME changes here and there and run it? They way you're
  431. talkin' about it makes me think you're switching to the MS-DOS
  432. hosted version UCSD p-system on the IBM! If you're thinking about
  433. just porting it over to Turbo 4.0, first think about getting
  434. Turbo 5.0 Professional. You have more work ahead of you than you
  435. think and you'll want a debugger for those big jobs. Having
  436. overlay capabilities also helps.
  437.  
  438. First of all, your screen coordinates in the turbo start at 1. In
  439. p-System they start at 0. You have one more screen line to play
  440. with on the IBM. You have the names of the screen-handling
  441. procedures to deal with too. If your program uses the Apple's
  442. arrow keys you'll have to account for that too. Your users won't
  443. appreciate having to use Ctrl key combinations! <<grin>>
  444.  
  445. Are you using the SCAN function in the Apple version? Turbo
  446. Pascal doesn't (and has never had it, but could use) the SCAN
  447. function. Be prepared to write a/some little assembly language
  448. routine(s) to emulate it.  That's what I'm thinking of doing now.
  449.  
  450. Are you directly comparing two records of the same type with =?
  451. That's illegal in Turbo. You'll have to compare each field
  452. separately in Turbo or use a trick mentioned somewhere in the
  453. Turbo manual. If those records you want to compare contain
  454. variant fields, you won't be able to reliably use the trick.
  455.  
  456. TYPE
  457.   S = PACKED RECORD
  458.         first_field : 0..1;
  459.         second_field : 0..7;
  460.         third_field  : 0..3;
  461.         fourth_field : 0..255;
  462.       END;
  463.  
  464. If you have stuff like the above, it will take up 4 bytes in
  465. Turbo but only 2 bytes in UCSD Pascal. Remember that if/when
  466. using free unions to test bits from wierd stuff coming in from
  467. and going to the hardware.
  468.  
  469. No, I'm not saying that you should have gone with the MS-DOS
  470. hosted p-System. That would be a big mistake. You might get the
  471. Apple-to-IBM conversion done sooner, but development and program
  472. execution would still be slow on a PC -- even an AT! Turbo has
  473. much more to offer!
  474.  
  475. --- Via OpXpress V1.02  Always a notch off....just like the Madman!
  476.  * Origin: LSO II * Everett WA * 206/334-7039 * HST (1:344/100.0)
  477.  
  478. *** There is a reply. See #128.
  479.  
  480.  
  481. From:    Reinhardt Mueller 
  482. To:      Tim Geisweit                             Msg #22, 26-Jan-89 09:13pm
  483. Subject: Re: goto's
  484.  
  485. JO> If you're going to program in BASIC I suggest you try TRUE
  486. JO> BASIC. Its a version of BASIC by the guys who originally
  487. JO> created the language. It does not allow GOTO's and you will
  488. JO> soon find that you don't need them at all if you use it.
  489.  
  490.     Tim, if/when you have lots of existing programs written in
  491. BASICA/GWBASIC, you might also try QuickBASIC v4.5 by Microsoft.
  492. $99 retail, maybe $70 at discount stores. It's most compatible
  493. with interpreted BASIC.
  494.  
  495.     GOTO's are allowed but you should have little if any need for
  496. them. It has multi-line IF-THEN-ELSE, SELECT CASE constructs
  497. (like Pascal's CASE), WHILE-DO LOOP and DO LOOP WHILE (like
  498. Pascal's WHILE and REPEAT-UNTIL constructs), named subroutines
  499. and true named functions. Yes, it still has the DEF FN kind too,
  500. but the procedures (SUBs) and FUNCTIONs allow you to pass data as
  501. arguments (by value or reference) in a parameter list. Functions
  502. and SUB's have local variables, thereby reducing or eliminating
  503. side-effects caused by accidently using the same variable in two
  504. subroutines.
  505.  
  506.     Line numbers are optional; you can use labels instead. Even
  507. in a large program you shouldn't need a lot. The only exception I
  508. can think of is trapping I/O (such as disk and printer) errors.
  509. You can break your program up into modules (analogous to UNITs in
  510. Turbo and USCD Pascal), letting you create reusable modules. If
  511. you do it right, you should be able to isolate your disk/printer
  512. I/O and their error-trap (ON ERROR GOTO) routines to one module.
  513. That way the rest of your program won't be messed up with GOTO's.
  514. QuickBASIC also has an integrated source-level debugger to help
  515. you trace through your program when things go wrong.
  516.  
  517.     Do you hate that FIELD statement for doing random I/O? Too
  518. many variables for one program line? Tired of LSET-ing and
  519. Rset-ing? You don't need it in QB. The TYPE statement lets you
  520. declare records (they call 'em user-defined types). You can have
  521. a array of records but not record of arrays.
  522.  
  523.     In my opinion, when writing a new program you shouldn't use
  524. GOTO's if something better is available, but they're nice to have
  525. around. Example: You're converting an interpreted BASIC program
  526. to compiler BASIC. In that way, you see how the program runs as
  527. you work at getting rid of the GOTO's. I've converted a BASICA
  528. program (a label-maker) to QuickBASIC and just about all the
  529. GOTO's are gone, and boy, is it easy to read! And yes, it did
  530. yell when I tried to GOTO a label that was in FUNCTION or
  531. SUBroutine. It will also yell if you try to get out of a SUB or
  532. FUNCTION to another part of the program with a GOTO. One way in,
  533. one way out! I would say more about QuickBASIC, but this IS the
  534. PASCAL echo.
  535.  
  536.     True BASIC? I've never used it so I can't honestly knock it
  537. or praise it. Obviously Joe O'Leary likes it. From what I've read
  538. about it, it's a good try, but a little too late.
  539.  
  540.     I feel that Microsoft BASIC (interpreted and compiled) has
  541. become the standard. If you can use QuickBASIC with no GOTO's,
  542. you'll be as near to Pascal as you can get without actually
  543. getting Turbo 5.0! Get it! You won't be disapointed. You'll won't
  544. want to go back to BASICA! Learning Pascal will be that much
  545. easier and faster once you've played around with QB for a while.
  546.  
  547.  
  548. --- Via OpXpress V1.02  Always a notch off....just like the Madman!
  549.  * Origin: LSO II * Everett WA * 206/334-7039 * HST (1:344/100.0)
  550.  
  551. *** There is a reply. See #65.
  552.  
  553.  
  554. From:    Reinhardt Mueller 
  555. To:      Douglas Peterson                         Msg #23, 26-Jan-89 07:57pm
  556. Subject: Re: TURBO PASCAL 5.0
  557.  
  558. -> I must admit that I used MicroStar as my Word Processor for
  559. -> the longest of times. (until Sprint came along...)
  560.  
  561. I also use MicroStar as my word processor, er um text editor!
  562. Have been ever since I got it last March! I'll admit it's a bit
  563. of a RAM hog but what a powerhouse!
  564.  
  565. Some parts can be overlaid to give you a bit more memory for
  566. those huge files. If you try to add overlays on your copy, be
  567. careful. Some of those assembly routines are near calls. You'll
  568. have to change those near-call assembler routines to far calls
  569. and re-assemble them before putting the {$F+,O+} directives in.
  570.  
  571. Sprint?  Too much money!
  572.  
  573. --- Via OpXpress V1.02  Always a notch off....just like the Madman!
  574.  * Origin: LSO II * Everett WA * 206/334-7039 * HST (1:344/100.0)
  575.  
  576.  
  577. From:    Kevin Lowey 
  578. To:      Greg Wood                                Msg #24, 26-Jan-89 05:23pm
  579. Subject: Re: RE:tug O'wards Iv
  580.  
  581.  
  582.  GW>Kevin I should be able to help you out. Seeing as how the stamp 
  583.  GW>for your letter would cost 25 cents and the stamp to TUG 25 cents  
  584.  GW>I would only be out 50 cents. Send me a copy of the letter in  
  585.  GW>netmail or this echo along with your address and any other  
  586.  GW>information I might would need and I will mail it for you.  
  587.  
  588.   Thanks for the offer!!  However, I've learned from other people about 
  589. International Postage (red face).  I didn't know there was such a thing. Oh
  590. well, thanks for the offer.   
  591.  
  592.   By the way, the reason they are taking this cheaper route is 
  593. interesting.  BORLAND used to include their prospectus in every BORLAND
  594. product.  That gave TUG all the free advertisement they needed.  However,
  595. Borland has stopped doing this, so now no one knows about TUG.  For all you
  596. TUG members out there, please spread the word.  For all the people that are
  597. NOT TUG members, I'll try and find their address and subscription form at home
  598. and will post another message with it. 
  599.  
  600. -- Kevin Lowey  
  601.   
  602.  
  603. ---
  604.  * Origin: University of Sask. Computing Services (Opus 1:140/43)
  605.  
  606. *** There is a reply. See #129.
  607.  
  608.  
  609. From:    Colten D. Edwards 
  610. To:      Robert Turner                            Msg #25, 26-Jan-89 12:00pm
  611. Subject: FINDFIRST procedure TP4
  612.  
  613. Lets see an example of your usage of both commands. One thing about Exec is
  614. that unless the program is in the current directory you'll have to specify a
  615. complete path/filename.ext to the program. As for FindFirst
  616. var DT : Searchrec;
  617.  
  618.          FindFirst(PrgrmName,Flags,DT);
  619.                   Where Flags is a Attrib byte of one of the following
  620.                         Directory,Anyfile,etc...
  621. Use anyfile and test DT.Attr to see if it's equal to Directory. If it is then
  622. do a FindNext(DT) 
  623.  
  624. --- ConfMail V4.00
  625.  * Origin: Treasure Isle Private Mail System (1:140/51)
  626.  
  627. *** There is a reply. See #64.
  628.  
  629.  
  630. From:    Colten D. Edwards 
  631. To:      Michelle Wyner                           Msg #26, 26-Jan-89 12:09pm
  632. Subject: TP 5.0
  633.  
  634. Look for the Book Mastering Turbo Pascal v4 Second Edition by Tom Swan.
  635. Published by Hayden Books ISBN # 0-672-48421-8. I just got it from a book club
  636. and wish I had seen it when I first started programming. Lots of examples and
  637. a command reference.. 
  638.  
  639. --- ConfMail V4.00
  640.  * Origin: Treasure Isle Private Mail System (1:140/51)
  641.  
  642. *** Part of a conversation.
  643.  
  644.  
  645. From:    Colten D. Edwards 
  646. To:      Chris Austin                             Msg #27, 26-Jan-89 12:13pm
  647. Subject: ASYNC10.ARC
  648.  
  649. I've recompiled the src with masm 5.1 and Tasm 1.0 no problems. Found the src
  650. same place as you in fact... 
  651.  
  652. --- ConfMail V4.00
  653.  * Origin: Treasure Isle Private Mail System (1:140/51)
  654.  
  655. *** There is a reply. See #63.
  656.  
  657.  
  658. From:    Mark Hopkins 
  659. To:      Howard Jiang @ 902/10                    Msg #28, 25-Jan-89 06:30am
  660. Subject: Pascal Sucks
  661.  
  662. In a message of <20 Jan 89 20:18:48>, Howard Jiang @ 902/10 (1:10/8) writes:
  663. >  IReally Think Pascal Sucks !!!!! Sucks So Bad That I Cant Even get a
  664. >Taste!!!!!!    You Pascal Programers Bit The Big One!!!!!!
  665. > I Think The Best Language(And I Use IT) is BASICA and Pascal Really
  666. >Sucks!!!!!   
  667. >            If You Have any Comments to me call Me at
  668. >                         602-297-6490
  669. >                   I Really Like To Get Into Discusions!!
  670.  
  671. Nice try bud, but just a bit obvious, huh?  Remember... just say NO!
  672.  
  673.  
  674. --- msged 1.96S ZTC
  675.  * Origin: SWAT: Blaise-ing Code! SeaSoft Network (1:343/8.13)
  676.  
  677. *** Part of a conversation.
  678.  
  679.  
  680. From:    John Simmons 
  681. To:      Howard Jiang @ 902/10                    Msg #29, 27-Jan-89 12:06pm
  682. Subject: Re: Pascal Sucks
  683.  
  684. Ya know, it's a real bother to us grown ups when you 8-year-olds think they
  685. know what they're doing.  Get a life jerk.
  686. --- QuickBBS v2.03
  687.  * Origin: Bytes 'R Us; San Ysidro CA (619) 428-9773 (1:202/112)
  688.  
  689. *** Part of a conversation.
  690.  
  691.  
  692. From:    John Simmons 
  693. To:      MIKE SIMMONS                             Msg #30, 27-Jan-89 12:18pm
  694. Subject: :-
  695.  
  696. Are we related????
  697. --- QuickBBS v2.03
  698.  * Origin: Bytes 'R Us; San Ysidro CA (619) 428-9773 (1:202/112)
  699.  
  700. *** There is a reply. See #126.
  701.  
  702.  
  703. From:    John Simmons 
  704. To:      Dave Hess                                Msg #31, 27-Jan-89 12:21pm
  705. Subject: Help
  706.  
  707. Every time you use the window command, the previous window is wiped out,
  708. and the new window takes over.  The ranges you specified are also wrong.
  709. The max window is (1,1,80,25).  Your numbers were too high, and I assume
  710. that the windows wrapped to the topp of the screen.  Maybe I'm wrong about
  711. that though.
  712. --- QuickBBS v2.03
  713.  * Origin: Bytes 'R Us; San Ysidro CA (619) 428-9773 (1:202/112)
  714.  
  715. *** Part of a conversation.
  716.  
  717.  
  718. From:    Tim Van Over Of 152/18 
  719. To:      Moderator                                Msg #32, 28-Jan-89 12:58am
  720. Subject: Descriptor
  721.  
  722.  
  723. Moderator,
  724.  
  725.    We need a description to attach to the label of this conference and
  726. rather than take it upon ourselves we decided it would be best to allow the
  727. moderator decide in whichever manner he/she felt suited (user vote ect...).
  728.  
  729.    I carry quite a few of conferences and to be frank with you I am tired
  730. of dreaming up descriptions for conferences that I do not participate in.
  731.  
  732.    An idea occured to me... what would it be the result if everyone that
  733. moderated a conference took advantage of the individual origin file option
  734. in most mail programs an example below...
  735.  
  736. "* Origin: DAILY   - Read the Bible in a year (KJV) (1:152/18)"
  737.            +- 08 -+  +-----------  30  -----------+
  738.  
  739.    If your mail program does not allow individualized origin lines than
  740. perhaps a personal tear line fitted to funtion key (macro) would do, in
  741. anycase we aren't talking about that much luggage as it is the moderator
  742. that is carrying this flag and not the whole conference.
  743.  
  744. "--* DAILY   - Read the Bible in a year (KJV)"
  745.      +- 08 -+  +-----------  30  -----------+
  746.    
  747. --* Tv "ALL in favor... All opposed... Whatcha' all think??"
  748.  
  749. --- ConfMail V4.00
  750.  * Origin: Zone 8 NETWORK Gateway - (1:129/34)
  751.  
  752. *** There is a reply. See #137.
  753.  
  754.  
  755. From:    Jeff Posey 
  756. To:      All                                      Msg #33, 25-Jan-88 04:54pm
  757. Subject: Turbo 4.0
  758.  
  759. Help.. In a program I put in 
  760.  
  761. Uses Blah, blah, graph;
  762.  
  763. begin
  764.   initgraph;
  765.   circle(blah);
  766. end.
  767.  
  768. and had no errors but when i ran it it said
  769. "You need to use initgraph first" or something? whats the deal?
  770.  
  771.    Jeff
  772. --- QuickBBS v2.03
  773.  * Origin: The Gold Mine...The GAME Board (8:7102/8)
  774.  
  775. *** There is a reply. See #140.
  776.  
  777.  
  778. From:    Dale Barnes 
  779. To:      George Falcon                            Msg #34, 27-Jan-89 07:59am
  780. Subject: Re: Tpb 5.0
  781.  
  782. -> --> > No easy or cheap way around.
  783. -> -->
  784. -> -->I beg to differ.  Opus is an easy and cheap way around
  785. -> -->TPB5.0.  Until an author releases something fully
  786. -> -->compilable from an inexpensive package like TP Pro 5.0 by
  787. -> -->itself, the overall effort and expense required will still
  788. -> -->be too steep for me to work with TPB.  No offense intended,
  789. -> -->but I conclude it's still not for me.
  790.  
  791. No Offense taken.  I was replying to someone asking if TPBoard 5.0
  792. source was avalible completely.  I was just telling them what the
  793. author shows to be needed to recompile the code.  I for one do not
  794. use TPBoard either but it seems to be a good package.
  795.  
  796.                                                 Dale
  797. --- QuickBBS v2.03
  798.  * Origin: Home of Majik Board(tm) (HST) Shalimar, FL (NEC 366) (1:366/200)
  799.  
  800. *** There is a reply. See #165.
  801.  
  802.  
  803. From:    Dave Goggin 
  804. To:      All                                      Msg #35, 28-Jan-89 12:34pm
  805. Subject: PASCAL RECURSION
  806.  
  807.  
  808. _RECURSION_ _AS_ _AN_ _ALTERNATE_ _METHOD_
  809. The following statistics were found in a research
  810. study this week, whether recursive procedures were really all that
  811. time inefficient.
  812.    
  813. TEST 1: bubble sort an array of integers.  Identical array presented
  814. to both recursive and iterative procedures. times are in minutes,
  815. using 6502B processor.
  816.    
  817. #elements    recursive     iterative
  818.    
  819. 300          1:33.32       1:32.13
  820. 360          2:26.30       2:25.74
  821. 600          6:01.70       6:00.57
  822.    
  823. test 2: find the factorials from 1 to 23 using a recursive
  824. factorial procedure.  time in seconds.  answers returned as reals.
  825.    
  826. recursive:   1.61 sec
  827. iterative:   1.79 sec
  828.    
  829. test 3: find the first 18 numbers in the fibonacci sequence.  time is in
  830. seconds.
  831.     
  832. recursive:   14.89 sec
  833. iterative:    0.13 sec
  834.  
  835.    
  836. the high inefficency procedure was this:
  837.         
  838. FUNCTION RecursiveFib (n : INTEGER) : INTEGER;
  839. BEGIN
  840.   IF (n=1) OR (n=2)
  841.      THEN RecursiveFib := 1
  842.      ELSE RecursiveFib := RecursiveFib(n-1) +     RecursiveFib(n-2);
  843. END;
  844.  
  845. the results seem to show that in order for recursion to work, you must plan
  846. carefully to get the maximum efficiency, and not overuse
  847. recursion when a simple solution exists.
  848.  
  849. eeeeeeeeeeeeeeeeeeeeeeeeeee
  850. --- TBBS v2.0
  851.  * Origin: G.A.D.M. Multi-User TBBS Hayward,CA.(415) 581-3019  (161/208)
  852.  
  853. *** There is a reply. See #141.
  854.  
  855.  
  856. From:    Joerg Hegermann 
  857. To:      dj murdoch                               Msg #36, 25-Jan-89 04:23pm
  858. Subject: re: Units
  859.  
  860. Hi there,
  861.  
  862. You were right.  I discovered it only after I've sent this message.
  863. I was probably too estonished myself and didn't read the number carefully. In
  864. fact it was the error number for the data segment.
  865. Anyhow, nice to know that there are people outside, willing to help.
  866. See ya round...
  867.  
  868. Cheers
  869. Joerg Hegermann
  870.  
  871. --- ConfMail V3.2
  872.  * Origin: THE SINGAPORE LINK (3:600/1)
  873.  
  874. *** There is a reply. See #37.
  875.  
  876.  
  877. From:    Joerg Hegermann 
  878. To:      Dj Murdoch                               Msg #37, 25-Jan-89 04:31pm
  879. Subject: Units
  880.  
  881. Hi there,
  882.  
  883. Remember me?
  884. Always when I browse through thses messages from you guys I wonder how many
  885. useful units you have over there in the States.  We here in Singapore have
  886. very few really good units on our boards.
  887. I was wondering whether you might be able to give me the names of your best
  888. units and the boards to be found.
  889. If one can access to those boards with fast registering, I would like to dl
  890. some.  Or better, if I sent you a return envelope, and some disks, could you
  891. copy me some of your best units?
  892.  
  893. Cheers
  894. Joerg Hegermann
  895.  
  896. --- ConfMail V3.2
  897.  * Origin: THE SINGAPORE LINK (3:600/1)
  898.  
  899. *** Part of a conversation.
  900.  
  901.  
  902. From:    Joerg Hegermann 
  903. To:      Tom Bradford                             Msg #38, 25-Jan-89 09:22pm
  904. Subject: Re: Style Debate #9,005
  905.  
  906. Hi Tom,
  907.  
  908. I'm writing from Singapore.
  909. I read your message regarding these F/X units.
  910. They sounded interesting to me.
  911. Are they public domain? And if so, is the source included?
  912. I'd be interested in downloading them in orderr to learn some pascal, since
  913. I'm still quite new to it.
  914. Perhaps if you could get me an account in your BBs I could download it from
  915. here? (That is if they aren't too big...otherwise I'll be poor due to the
  916. phone costs from here to the States).
  917.  
  918. Cheers
  919. Joerg Hegermann
  920.  
  921. --- ConfMail V3.2
  922.  * Origin: THE SINGAPORE LINK (3:600/1)
  923.  
  924. *** There is a reply. See #57.
  925.  
  926.  
  927. From:    Joerg Hegermann 
  928. To:      Gary Doughty                             Msg #39, 27-Jan-89 03:36pm
  929. Subject: re: Quick Sort
  930.  
  931. Hi Gary,
  932.  
  933. As far as I know there are some sorting routines in the Turbo Pascal Tutor.  I
  934. havn't got it myself, but perhaps anybody else out there can give you a
  935. listing.
  936.  
  937. Cheers
  938. Joerg Hegermann
  939.  
  940. --- ConfMail V3.2
  941.  * Origin: THE SINGAPORE LINK (3:600/1)
  942.  
  943. *** There is a reply. See #89.
  944.  
  945.  
  946. From:    Joerg Hegermann 
  947. To:      Lee Bollard                              Msg #40, 27-Jan-89 03:43pm
  948. Subject: re: TP run Dos prog.
  949.  
  950. Hi There,
  951.  
  952. If you have Turbo Pascal 5 then you might like to check out the EXEC procedure
  953. on page 264...
  954.  
  955. Cheers
  956. Joerg Hegermann
  957.  
  958. --- ConfMail V3.2
  959.  * Origin: THE SINGAPORE LINK (3:600/1)
  960.  
  961.  
  962. From:    Joerg Hegermann 
  963. To:      Jim Roach                                Msg #41, 27-Jan-89 03:44pm
  964. Subject: re: tp4 tutorial
  965.  
  966. Hi There,
  967.  
  968. I found the Turbo Pascal Tutor by Boarland quite useful.
  969.  
  970. Cheers
  971. Joerg Hegermann
  972.  
  973. --- ConfMail V3.2
  974.  * Origin: THE SINGAPORE LINK (3:600/1)
  975.  
  976.  
  977. From:    Joerg Hegermann 
  978. To:      Holger Shurig                            Msg #42, 27-Jan-89 04:03pm
  979. Subject: Hi There
  980.  
  981. Hi Holger,
  982.  
  983. As you might realize from my name, I'm German too.
  984. I'm living in Singapore, but will be going back to Germany in less than 6
  985. months.  I've been staying here for about 4 years.
  986. I'm just about to finish my Abitur here.
  987. I was just wondering how the modeming world in Germany is.
  988. When I was the last ime in Germany there was practically nothing on compared
  989. wth the over 150 public Bulletin Boards here in Singapore (consider that
  990. Singapore is only an island of 20 x 40 Km).
  991. From which state are you writing anyhow?
  992. When 'll be going back to Germany I'll be living in Baden-Wuerttemberg close
  993. to the lake of Constance.
  994. I'm also thinking about setting up a BBs in Germany, since I've been running a
  995. BBs here in Singapore for more than 2 years.
  996. But how is it with the modems there?
  997. I have a Hayes 2400 and a Smarteam 1200.  As far as I know they are not
  998. approved by the Bundespost, are they?
  999. What modem are you using? Are there any Hayes command compatible modems that
  1000. are approved by the Bundespost?
  1001.  
  1002. Hope to be hearing from you soon...
  1003.  
  1004. Cheers
  1005. Joerg Hegermann
  1006.  
  1007. --- ConfMail V3.2
  1008.  * Origin: THE SINGAPORE LINK (3:600/1)
  1009.  
  1010.  
  1011. From:    Allen Lew 
  1012. To:      Randall Smith                            Msg #43, 27-Jan-88 03:18pm
  1013. Subject: Re: JoyStick Routine
  1014.  
  1015. Are you sure?????
  1016. Hey that's what my country men say!
  1017. --- QuickBBS v2.03
  1018.  * Origin: Minfo - QBBS is quick! but slowed down by 1200 modem (3:600/17)
  1019.  
  1020.  
  1021. From:    Hal Smith Of 600/1 
  1022. To:      Gary Godfrey                             Msg #44, 17-Jan-89 08:27pm
  1023. Subject: Re: Text Editor
  1024.  
  1025. Turbo Editor Toolbox 4.0
  1026.   Four flavors.
  1027. 1. Very simple
  1028. 2. Binary Editor.  (No assembler code, but a good unit)
  1029. 3. Slightly complex editor.
  1030. 4. MicroStar.  Full Blown package with all sorts of goodies.
  1031.  
  1032. Also works with TP5, with a couple of delcaration changes, which are
  1033. documented.
  1034. -h
  1035. --- QuickBBS v2.03
  1036. fergivintr 
  1037.  
  1038. --- ConfMail V4.00
  1039.  * Origin: SpaceNet - WOCin' Slow at 2400 - Singapore (1:600/6)
  1040.  
  1041.  
  1042. From:    Tony Shelton 
  1043. To:      brian corll                              Msg #45, 28-Jan-89 03:24am
  1044. Subject: .GIF
  1045.  
  1046. I think that the best way for you to get the GIF file is
  1047. for us to do it ourselves.  Let me know what is best for you
  1048. and I'll do my best to help.
  1049.  
  1050. BTW, how many manuals does TP v5.0 come with.  There was a
  1051. screw up in my order and Borland has sent me _2_ UPDATE
  1052. manuals, 1 USER'S GUIDE, and 1 REFERENCE GUIDE.  Am
  1053. I missing anything?
  1054. Thanks,
  1055. Tony
  1056.  
  1057. --- Via OpXpress V1.03ß
  1058.  * Origin: The Tech Connect - **HST** (1:124/6215)
  1059.  
  1060. *** There is a reply. See #142.
  1061.  
  1062.  
  1063. From:    Tony Shelton 
  1064. To:      Murray Eisenberg                         Msg #46, 28-Jan-89 03:13am
  1065. Subject: Re: Turbo Pascal 5.0 with NEC V30/8087
  1066.  
  1067.  >Thanks for the info that the underflow bug did not arise with your 
  1068.  >V30/8087-2.  Do you have a code number or date on your V30?  It's 
  1069.  >possible, of course, that there is a bug in some versions of V30 
  1070.  >that's  fixed in others.
  1071.  
  1072. I installed my V30 about 2 years ago, so it is at least that old.
  1073. I've no experiance with that particular AST card, but the AST boards
  1074. where I used to work never gave any problems.
  1075.  
  1076. --- Via OpXpress V1.03ß
  1077.  * Origin: The Tech Connect - **HST** (1:124/6215)
  1078.  
  1079.  
  1080. From:    Jettero Heller 
  1081. To:      All                                      Msg #47, 28-Jan-89 08:26pm
  1082. Subject: Opening Files
  1083.  
  1084. I have Lightspeed Pascall 1.11 for the Macintosh, and I am having trouble
  1085. opening files.  I am in the process of creating an on-line game, and I want to
  1086. make the player files named after their name.  I am trying to use an array to
  1087. do that, but it doesn't seem to work.  Does anyone know how to create a knew
  1088. random access file which is named (called on) by the users name/alias for the
  1089. game?
  1090.  
  1091.  
  1092. ---
  1093.  * Origin: THE EXCHANGE (214) 517-8553 Plano, TX (Opus 1:124/3220)
  1094.  
  1095.  
  1096. From:    James Williams 
  1097. To:      Peter Kolding                            Msg #48, 28-Jan-89 06:36pm
  1098. Subject: Setting typematic rate
  1099.  
  1100.  >According to Norton this should double the typematic rate:
  1101.  >
  1102.  >program typematic_rate;
  1103.  >USES DOS;
  1104.  >VAR reg : registers;
  1105.  >begin
  1106.  >  with reg do
  1107.  >    begin
  1108.  >       bl:= $04;                {typmatic rate}
  1109.  >       bh:= $00;                {typematic delay}
  1110.  >       ah:= $03;
  1111.  >       al:= $05;
  1112.  >    end;
  1113.  >  Intr($16,reg);
  1114.  >end.
  1115.  >
  1116.  >But nothing happens when I call it. I run a clone 8088 XT
  1117.  >with Pheonix ROM BIOS Ver.2.03. I 'suspected' an incompatible
  1118.  >BIOS, but I run WordPerfect on the same system and it manages
  1119.  >to control the typematic rate. I'd appreciate any help to get
  1120.  >this working.
  1121.  
  1122. Pete, you should've looked closer at what Norton said: that function is
  1123. for the PCjr!  That's why you cannot get it to work w/your system.  I
  1124. also have a Phoenix ROM BIOS, and have yet to come upon a program, or
  1125. the knowledge with which to change the typematic rate.  I've tried a PD
  1126. program, but w/o success.  If, and when, I come across anything that
  1127. works, I'll let you know ASAP.  Would you kindly do the same for me?
  1128. Til then,
  1129.  
  1130. =:(JRWZ):=
  1131.  
  1132.  
  1133.  
  1134. ---
  1135.  * Origin: Backstreet BBS [HST], Fulton, NY * (315)-593-1589 (Opus 1:260/325)
  1136.  
  1137. *** There is a reply. See #209.
  1138.  
  1139.  
  1140. From:    James Williams 
  1141. To:      Ron Dexter                               Msg #49, 28-Jan-89 06:33pm
  1142. Subject: Screen-writes
  1143.  
  1144.  >I'm trying to read & write to memory
  1145.  >(off the screen).  Well, actually I
  1146.  >did it, but I was wondering if
  1147.  >there is an easier way to go?
  1148.  >Warn you, I only have v3.0.
  1149.  
  1150. An easier way than what?  Maybe you did it, but how're we supposed to
  1151. know if what we do is easier or not if you don't even show us what you
  1152. did?
  1153. Anyways, This is how I do my direct screen-writes, but I've a Mono
  1154. monitor, so I've never had to worry about Snow for the CGA screen:
  1155.  
  1156. Declare a pointer to a record type that's suited to the memory you're
  1157. writing to, in this case the screen memory, then whenever you have to
  1158. write to memory, use the pointer as access.  To give credit where credit
  1159. is due, I got the idea from O'Brien's _Turbo Pascal: The Complete
  1160. Reference._
  1161.  
  1162. program Write_Direct;
  1163.  
  1164. const
  1165.     MONOSEG = $B000; {take your pick according to your monitor}
  1166.     CGASEG = $B800;
  1167.  
  1168. type
  1169.     vidmempointer = ^screenrec;
  1170.     screenrec = record
  1171.         SCRXY : array [1..80,1..25] of record
  1172.            ch : char;
  1173.            attrib : byte;
  1174.            end;{array record}
  1175.         end;{screenrec record}
  1176.  
  1177. var
  1178.     screen : vidmempointer; {screen is the key to memory}
  1179.  
  1180. begin
  1181.     new(screen); {prepare screen for use}
  1182.     screen := ptr(MONOSEG,$0000); {screen now set to Mono video memory
  1183.                                    use CGASEG for Cga memory.}
  1184.     screen^.SCRXY[1,1].attrib := $70;
  1185. {      |        |        |         |
  1186.        |        |        |          --> Reverse video attribute
  1187.        |        |         --> attribute record in array
  1188.        |         --> X,Y coordinates on screen (like GOTOXY(x,y))
  1189.         --> pointer to video memory
  1190. }
  1191.     screen^.SCRXY[1,1].ch := 'Z'; { <--note char here, not attribute.}
  1192. end.
  1193. {   Warning: do not use DISPOSE, for it will crash the program, if not
  1194. the system.}
  1195.  
  1196. =:(JRWZ):=
  1197.  
  1198.  
  1199.  
  1200. ---
  1201.  * Origin: Backstreet BBS [HST], Fulton, NY * (315)-593-1589 (Opus 1:260/325)
  1202.  
  1203. *** There is a reply. See #170.
  1204.  
  1205.  
  1206. From:    Charles Falconer 
  1207. To:      All                                      Msg #50, 27-Jan-89 04:33pm
  1208. Subject: TP6 wishes
  1209.  
  1210. TP4 (and 5) are less efficient in memory use than TP3 for CPM, in
  1211. the sense that heap and/or stack overflow may occur when memory is
  1212. still available.  I wish TP6 to allocate stack above the heap, and
  1213. let the two grow together again.  This can be done as follows:
  1214.  
  1215. 1.  Allocate all memory.  Call this portion A
  1216. 2.  Reduce the allocation A by an initial stack amount, say 4k
  1217. 3.  allocate a new segment (S) (which will take the piece left at
  1218.     the top in 2) for the stack.  set SS 64k below this, set
  1219.     sp at 0fff0h, and record the minimum sp value allowable.
  1220.     (0f000h for the 4k allotment suggested above).  This part
  1221.     is designed to not change addresses of in use memory later.
  1222. 4.  Reduce the A allocation to just cover the global data and
  1223.     set DS appropriately.  Now allocate a new segment H (heap)
  1224.     of say 4k.  Set the initial heap control pointers accordingly.
  1225.  
  1226. The system is now operating with code, globals, heap and stack
  1227. segments allocated, and a large space between heap and stack that
  1228. is unallocated.  Nothing need be done until either a heap or
  1229. stack overflow occurs.  At this point the appropriate segment
  1230. must be expanded (by say 4k again, more if needed and available),
  1231. and the heap segment may be contracted.
  1232.  
  1233. This mechanism is for the present DOS memory allocation strategies,
  1234. and must be different for 386 systems in real mode.  The point is
  1235. that relatively small heap/stack allocations are made, and an
  1236. overflow (a rare event, thus minimum overhead) attempts to expand
  1237. the allocation.  The program only fails if this secondary allocation
  1238. cannot be made.
  1239.  
  1240. Now, as long as the program is running, a minimum of memory is in
  1241. use.  Thus execution of chained programs, or intervention by TSR's,
  1242. will find memory available, and may grab it (provided they release
  1243. it again before the main program resumes).  When and if memory
  1244. overflow occurs, it will be because ALL memory has been used.
  1245. There is now no need to pre-allocate with the (*$M directive*).
  1246.  
  1247. The heap mechanism itself can be improved.  I have code to implement
  1248. the following, in both assembly and Pascal.  Heap items are always
  1249. allocated with a header, holding a pointer to the next allocation
  1250. (NIL for the last allocated), and the size allocated.  For the 8086
  1251. this implies 6 bytes.  All memory allocated by new is thus linked
  1252. in the order allocated (and getmem too).  Any free space sections
  1253. are linked in order of memory address, with contiguous free pieces
  1254. combined.  The system keeps pointers to the first and last allocated,
  1255. and to the first free block.  Any pointer assignment can now be
  1256. checked for a valid heap item (with a directive to inhibit, allowing
  1257. use of pointers outside the heap).  new/dispose and mark/release can
  1258. co-exist.  dispose can always check for a valid pointer.  These run
  1259. time checks greatly improve programming accuracy (PascalP implements
  1260. all of them, so this is not an unproven method).
  1261.  
  1262. For dynamic code swapping, it is possible to keep a separate list which will
  1263. not be affected by release and/or dispose, and allocate memory for code as
  1264. needed.  Code segments are intrinsically relocatable, so a strategy for
  1265. releasing and/or moving code segments when the memory is required, can be
  1266. implemented.  This will allow large programs to run at maximum speed.
  1267.  
  1268.  
  1269. ---
  1270.  * Origin: Alice's Restaurant (Opus 1:141/488)
  1271.  
  1272.  
  1273. From:    Charles Falconer 
  1274. To:      All                                      Msg #51, 28-Jan-89 12:05pm
  1275. Subject: PascalP - CPM
  1276.  
  1277. I have a complete ISO standard portable Pascal system (validated),
  1278. that runs on the HP3000, and CPM (never finished the MSDOS port).
  1279. The compiler source and manual are available for freq on 1:141/205,
  1280. Hippocampus, (203) 481-7475 9600bd.  ARC files PP319SOR and PPMANUAL. 
  1281.  
  1282. Code generators exist for Hp3000 native code, 8080 native code, and
  1283. p-code (not SCUD style).  The PCD version implements virtual code
  1284. memory, and can run in small memory systems (e.g. the 41k compiler
  1285. executes in 16k or so, and can compile itself in 63k on CPM - 10000
  1286. packed lines, about 1200 distinct identifier spellings).
  1287.  
  1288. The native code modules require SLR systems SLRMAC (or Z80ASM) assemblers,
  1289. and SLRNK (or SLRNKPLUS).  M80/L80 will not do - they truncate identifiers
  1290. and mishandle libraries.
  1291.  
  1292. I will release the code generator and run-time library sources to responsible
  1293. persons who will keep me informed, for CPM use, and will discuss the MSDOS
  1294. port also (Compiler/codegenerator runs, but library has insects).
  1295.  
  1296. A run-time system is freely available on YARU bbs (203) 785-2912, 2400 bd,
  1297. down at present), but no freq is possible.  If sufficient interest appears I
  1298. will place them on Hippocampus also.  Communications have also been
  1299. implemented, with runtime modules for Kaypro and Televideo.  These allow BBS
  1300. implementations with machine independant coding and program chaining
  1301.  
  1302. The CPM versions will run full speed on MSDOS machines using V20-80
  1303. (requires a V20 cpu), with minor problems due to faulty parameter
  1304. passing in V20-80.  You can also use ZSIM or Z80EMU on any machine,
  1305. with a heavy slowdown.  Compilation is much slower than Turbo (about
  1306. 500 lpm), but run modules are comparable speed and size to TP4, smaller
  1307. and faster than TP3.  Full listings of source and code can be made.
  1308.  
  1309. The PCD executable files are identical for MSDOS and CPM - the only
  1310. difference is the interpreter (and the speed).  This does NOT apply
  1311. to native code files.  PCD is about 5x slower than native, and about
  1312. 3x smaller, i.e. the compiler would be about 150-200k in native code.
  1313. Data space is limited to 64k (small model, 16 bit pointers).  Code is
  1314. essentially unlimited because of code swapping in virtual memory.
  1315. Separate compilation is possible.  Max memory usage is about 100k
  1316. total, code, data and interpreter.
  1317.  
  1318.  
  1319. ---
  1320.  * Origin: Alice's Restaurant (Opus 1:141/488)
  1321.  
  1322. YOU ONLY HAVE 2 MIN. LEFT
  1323.  
  1324.  
  1325. From:    Winthrop Chan 
  1326. To:      Randy French                             Msg #52, 29-Jan-89 12:27am
  1327. Subject: Hey...
  1328.  
  1329. How's life at Presearch? I'm stuck over at Unisys now cranking out dBase and C
  1330. code.
  1331. (and Pascal obviously!)
  1332. Win
  1333.  
  1334.  
  1335. ---
  1336.  * Origin: Space Sprockets ][ Bowie,Md (Opus 1:109/509)
  1337.  
  1338.  
  1339. From:    Dave Hess 
  1340. To:      Charles Ford                             Msg #53, 28-Jan-89 12:26pm
  1341. Subject: I do !
  1342.  
  1343.  
  1344.   I am calling all the windows Right but it looks Like this!
  1345.  
  1346.  
  1347. ####################################################################
  1348. ##########QUICKBBS###########FILES####################DUMB..ECT#####
  1349.   I want this line on top! one line! as a window! and when I write 
  1350. the bottom...It combines with the top? I want like a status line!
  1351.  
  1352.  
  1353.                                                 Dave Hess
  1354.  
  1355.  
  1356. ---
  1357.  * Origin: The Antenna Farm - Austin, TX (512-444-1052)  (Opus 1:382/40)
  1358.  
  1359.  
  1360. From:    Ross Wentworth 
  1361. To:      Jon Guthrie                              Msg #54, 27-Jan-89 07:23pm
  1362. Subject: Re: 300 BAUD
  1363.  
  1364.  > Interesting theory.  The way I see it is that most of the
  1365.  > stuff
  1366.  > transmitted by a BBS is garbage that most people ignore
  1367.  > unless they need
  1368.  > it.  Menus, for example, are of no interest at all except
  1369.  > for the one
  1370.  
  1371. When I was a regular caller (before I became a point), the vast majority of my
  1372. time was spent reading one message after another, with very little in the way
  1373. of menus and system messages.  At logon, however, you do have a point.
  1374.  
  1375.  > BTW.  What does all this have to do with Pascal?
  1376.  
  1377. Nothing, I was responding to someone else's statement.  Since it doesn't
  1378. belong here I'll slap myself on the wrist and drop the subject!  Ok?  :-)
  1379.  
  1380.                                     Ross Wentworth
  1381.  
  1382. --- FD 2.00
  1383.  * Origin: St Dymphna's Retreat via Torrance BBS 213-370-9027 (1:102/345.1)
  1384.  
  1385.  
  1386. From:    Ross Wentworth 
  1387. To:      Dave Goggin                              Msg #55, 27-Jan-89 07:30pm
  1388. Subject: FUNCTION RETURN STRING?
  1389.  
  1390.  > Unless Turbo Pascal is different than regular pascal (in
  1391.  > this case) I don't see how you can return a string, from a
  1392.  > function.  I though you couldn't return structured
  1393.  > variables from a function.
  1394.  
  1395. Turbo Pascal is different.  This is the ONLY structure that Turbo allows you
  1396. to return as a function result.  Pity, since I would prefer to use functions
  1397. in my complex number unit, i.e.
  1398.  
  1399.   Function CADD(C1,C2 : Complex) : Complex;
  1400.  
  1401. Instead of:
  1402.  
  1403.   Procedure CADD(C1,C2 : Complex;Var Complex);
  1404.  
  1405. One Pascal that did allow records to be returned as function results was the
  1406. now dead Marshal Pascal.
  1407.  
  1408.                                     Ross Wentworth
  1409.  
  1410. --- FD 2.00
  1411.  * Origin: St Dymphna's Retreat via Torrance BBS 213-370-9027 (1:102/345.1)
  1412.  
  1413. *** Part of a conversation.
  1414.  
  1415.  
  1416. From:    Ross Wentworth 
  1417. To:      Dave Hess                                Msg #56, 27-Jan-89 07:35pm
  1418. Subject: Help
  1419.  
  1420.  > different one? I NEED HELP PLEASE! PLEASE PLEASE!  I
  1421.  > declared the top window something like
  1422.  > this...WINDOW(1,1,81,1) and the bottom I think
  1423.  > Window(24,1,104,1)??? What am I doing wrong?
  1424.  
  1425. Windows created by Turbo Pascal's WINDOW procedure only last until you create
  1426. a new one.  It does not support overlapping of any kind (unless you write it
  1427. yourself).  Your best bet is to download a good windows package from your
  1428. local BBS such as TechnoJock or WNDW.
  1429.  
  1430.                                     Ross Wentworth
  1431.  
  1432. --- FD 2.00
  1433.  * Origin: St Dymphna's Retreat via Torrance BBS 213-370-9027 (1:102/345.1)
  1434.  
  1435. *** Part of a conversation.
  1436.  
  1437.  
  1438. From:    Ross Wentworth 
  1439. To:      Jesper Wolf                              Msg #57, 27-Jan-89 07:46pm
  1440. Subject: Re: STYLE DEBATE #9,005
  1441.  
  1442.  > But I have newer understood why he changed the OTHERWISE
  1443.  > into an ELSE. It might have been something Kahn demanded
  1444.  > from the start but i still dont know why. Does anybody
  1445.  > know?
  1446.  
  1447. Oddly enough, Turbo Pascal for the MAC uses OTHERWISE.
  1448.  
  1449.                                     Ross Wentworth
  1450.  
  1451. --- FD 2.00
  1452.  * Origin: St Dymphna's Retreat via Torrance BBS 213-370-9027 (1:102/345.1)
  1453.  
  1454. *** Part of a conversation.
  1455.  
  1456.  
  1457. From:    Ross Wentworth 
  1458. To:      Bob Ransom                               Msg #58, 27-Jan-89 07:50pm
  1459. Subject: high water mark
  1460.  
  1461. Somehow your "high water mark" file got scanned into a mail packet.  You might
  1462. want to look into that.
  1463.  
  1464.                                     Ross Wentworth
  1465.  
  1466. --- FD 2.00
  1467.  * Origin: St Dymphna's Retreat via Torrance BBS 213-370-9027 (1:102/345.1)
  1468.  
  1469.  
  1470. From:    Ross Wentworth 
  1471. To:      Lou Garner Of 507/1                      Msg #59, 27-Jan-89 07:56pm
  1472. Subject: Re: C versus PASCAL
  1473.  
  1474.  > How depressing! I thought the TP 5.0 was about the best
  1475.  > it could be...and have read suggestion after suggestion
  1476.  > and not a one of them was a bad idea!
  1477.  
  1478. No matter what Borland (or anyone else) does, there will always be room for
  1479. improvement.
  1480.  
  1481.                                     Ross Wentworth
  1482.  
  1483. --- FD 2.00
  1484.  * Origin: St Dymphna's Retreat via Torrance BBS 213-370-9027 (1:102/345.1)
  1485.  
  1486. *** Part of a conversation.
  1487.  
  1488.  
  1489. From:    Kevin Kwast @ 930/1 
  1490. To:      Everyone                                 Msg #60, 28-Jan-89 10:19am
  1491. Subject: Transfer Protocols
  1492.  
  1493. I am using Turbo Pascal 4.0 on a PC-AT clone.  I need the TP4 source
  1494. for file transfer protocols, and the format used to pass control from a
  1495. host BBS to a door..
  1496.  
  1497. Someone back in mgssage 149 asked for the transfer protocols, and
  1498. nobody ever answered..  does anyone know whre they are available?
  1499.  
  1500. --- ConfMail V4.00
  1501.  # Origin: HORIZON_RBBS_(214)881-8346_&_(214)424-3831_<<HST>>_ (8:930/1)
  1502.  * Origin: Network Gateway to RBBS-NET  (RBBS-PC 1:10/8)
  1503.  
  1504. *** There is a reply. See #207.
  1505.  
  1506.  
  1507. From:    Patrick Edwards 
  1508. To:      Mark Cheatle                             Msg #61, 27-Jan-89 02:43pm
  1509. Subject: pascal
  1510.  
  1511.  > Hi,
  1512.  >  I am thinking about taking a class in pascal at CCFL.
  1513.  > Would you
  1514.  > Guys recommend it? And also what do you think the major
  1515.  > advantages does
  1516.  > pascal have? And how can it help me if I learn it? thanks,
  1517.  >
  1518. One advantage is that it is easy to learn and should you pass you could
  1519. probaly continue depending on the way they set-up their courses or you could
  1520. move on ot C then Assembler what ever Fortran, or Cobol (business langauge).
  1521. So I personaly wpuld recommend it but there are others that would care to
  1522. differ. 
  1523.  
  1524. --- ConfMail V4.00
  1525.  * Origin: Northern Nights | Keep Kool| (1:140/48)
  1526.  
  1527. *** There is a reply. See #104.
  1528.  
  1529.  
  1530. From:    Scott Wilson 
  1531. To:      Colten D. Edwards                        Msg #62, 24-Jan-89 08:09am
  1532. Subject: Opus user list
  1533.  
  1534. Hi,
  1535.  > Opint102.5rc is available from the Buffer Board at 1:152/2
  1536.  > and Northern Nights 1:140/48 adn more than likely many
  1537.  > others....
  1538.  
  1539. is there a version 4 one up there in S'toon too? If so I'll reqeust it from
  1540. 48. Thanx, bi,
  1541.  
  1542.     Scott Wilson 1:140/35
  1543.  
  1544. --- FD 2.00
  1545.  * Origin: Magic Fountain Opus, Regina Sask (306)586-2692 Merry Xmas!
  1546. (1:140/35)
  1547.  
  1548. *** There is a reply. See #110.
  1549.  
  1550.  
  1551. From:    Colten D. Edwards 
  1552. To:      George Butts                             Msg #63, 28-Jan-89 04:19am
  1553. Subject: Async10.Arc
  1554.  
  1555. No it compiles cleanly under Masm 5.1 Probably he using an old version of Masm
  1556.  
  1557.  
  1558. --- ConfMail V4.00
  1559.  * Origin: Treasure Isle Private Mail System (1:140/51)
  1560.  
  1561. *** Part of a conversation.
  1562.  
  1563.  
  1564. From:    Greg Franklin 
  1565. To:      Robert Turner                            Msg #64, 27-Jan-89 02:36pm
  1566. Subject: Re: FINDFIRST procedure TP4
  1567.  
  1568.  >     In TP4, I can't seem to get the FINDFIRST routine to find a 
  1569.  > specific  file on any other computer other than mine.  Also, the 
  1570.  > EXEC procedure  will not find the file to execute on anyother 
  1571.  > computer other than mine  aswell. 
  1572.  
  1573. Have you checked your PATH or APPEND strings?  Maybe either of those
  1574. commands is letting you find and exec files that a "normal" computer
  1575. wouldn't locate.
  1576.  
  1577. --- Via OpXpress V1.07ß "Silver"  Greg Franklin, an End User...
  1578.  * Origin: The Migrants BBS Phx. Az. ░▒▓ (602) 264-2328 ▓▒░ (1:114/07)
  1579.  
  1580. *** This is a reply to #25.
  1581.  
  1582.  
  1583. From:    Tim Geisweit 
  1584. To:      Reinhardt Mueller                        Msg #65, 29-Jan-89 07:03am
  1585. Subject: Re: goto's
  1586.  
  1587.  RM> JO> If you're going to program in BASIC I suggest you try TRUE
  1588.  RM> JO> BASIC. Its a version of BASIC by the guys who originally
  1589.  RM> JO> created the language. It does not allow GOTO's and you will
  1590.  RM> JO> soon find that you don't need them at all if you use it.
  1591.  RM> 
  1592.  RM>     Tim, if/when you have lots of existing programs written in
  1593.  RM> BASICA/GWBASIC, you might also try QuickBASIC v4.5 by Microsoft.
  1594.  RM> $99 retail, maybe $70 at discount stores. It's most compatible
  1595.  RM> with interpreted BASIC.
  1596.  RM> 
  1597. JO refers to Joe O'leary, so why are you telling me this?             
  1598.  
  1599.  
  1600. --- msged 1.94S ZTC
  1601.  * Origin: CrossFire BBS  Harrisburg, PA (717)564-9519  (1:150/514)
  1602.  
  1603. *** Part of a conversation.
  1604.  
  1605.  
  1606. From:    Les Fenison 
  1607. To:      Moshe Boochbut                           Msg #66, 24-Jan-89 10:32am
  1608. Subject: Re: interrupt procedures
  1609.  
  1610. > It should do the trick. If it's too brief, reply and I will
  1611. > try to help
  1612. > more.
  1613.  
  1614. Well here is what I used;
  1615.  
  1616. program test;
  1617.  
  1618. uses dos,crt;
  1619.  
  1620. var a : integer;
  1621.  
  1622. procedure comm_stuff; interrupt;
  1623. begin
  1624.      writeln('got the interrupt');
  1625. end;
  1626.  
  1627. begin
  1628.      setintvec($c,@comm_stuff);
  1629.      repeat until 1 = 0;
  1630. end.
  1631.  
  1632. then I made characters come in the comm port and no luck.. I used both $C and
  1633. $B and I made characters come in all 4 comm ports each time and nothing.  I
  1634. experimented with different interupt vectors and got some strange results. The
  1635. book I have here is brain damaged and dosen't list neat things like interrupt
  1636. vectors.  It dosen't even talk about interrupt procedures at all.
  1637. Any ideas??
  1638.  
  1639.                       Les Fenison
  1640.                       Yahweh's BBS
  1641.                       Grangeville, Idaho
  1642.                       8:77/7 or 1:17/55 
  1643.  
  1644. --- ConfMail V3.31
  1645.  * Origin: << Yahweh's BBS >> Grangeville, Id  (208) 983-2724 300/1200/2400
  1646. (8:77/7)
  1647.  
  1648.  
  1649. From:    Terry Gaudet 
  1650. To:      Jonathan Posner                          Msg #67, 26-Jan-89 12:27pm
  1651. Subject: Pascal programming books
  1652.  
  1653. Hi!
  1654. You should try "Borland Osborne Turbo Pacal - The Complete Reference". So far
  1655. this is the most complete one I have found. It goes for about $40 in most book
  1656. stores. If you can't find it check out Camelot Books or La Maison de
  1657. Semi-Conducteurs. The last t
  1658. Sorry. The last time i was at either of them they each had several copies.
  1659. Another good book to go with this one (not too good by itself though) is
  1660. Mastering Turbo-Pascal by Hayden Books.
  1661. Good luck.
  1662. Terry
  1663.  
  1664.  
  1665. --- Opus-CBCS 1.10.vi
  1666.  * Origin: PComm #D5: 167/1 : Montreal : 514/989-9450 (1:167/1.0)
  1667.  
  1668.  
  1669. From:    Terry Gaudet 
  1670. To:      All                                      Msg #68, 26-Jan-89 12:35pm
  1671. Subject: Turbo Pascal 4 & 5
  1672.  
  1673. Hi out there. I see from the messages here that several of you have tried out
  1674. the newer versions of Pascal. Being new to programming (and somewhat ignorant)
  1675. I was wondering if I should upgrade from my ver.3.0. If so which one (4 or 5)
  1676. would you suggest 
  1677. as being the better buy?
  1678. Thanks, Terry
  1679.  
  1680.  
  1681. --- Opus-CBCS 1.10.vi
  1682.  * Origin: PComm #D5: 167/1 : Montreal : 514/989-9450 (1:167/1.0)
  1683.  
  1684. *** There is a reply. See #184.
  1685.  
  1686.  
  1687. From:    David Rutkowski 
  1688. To:      Lee Spivey                               Msg #69, 27-Jan-89 05:53am
  1689. Subject: Re: pascal to `c` transposer
  1690.  
  1691. It's called TP2C and should be generally available on your local BBS's.
  1692.  
  1693.  
  1694.  
  1695. ---
  1696.  * Origin: WOC'n on the DarkSide...The Misadventure Continues... (Opus
  1697. 1:228/5)
  1698.  
  1699.  
  1700. From:    David Rutkowski 
  1701. To:      Jon Guthrie                              Msg #70, 27-Jan-89 06:00am
  1702. Subject: Re: C Versus Pascal
  1703.  
  1704. There's what's best, and then there's what's practical. I would prefer Pascal
  1705. over C if it were generally available for machines other than the PC. I
  1706. routinely write code on the PC and upload it to multi-user machines for
  1707. recompilation. And, with Turbo C 2.0's enhanced debugging capabilities, the
  1708. pitfalls of C programming are a bit easier to overcome. Of course, C is used
  1709. for a lot of huge programs. The discipline for organizing large programs rests
  1710. with the programmers, rather than the language. 
  1711.  
  1712. ---
  1713.  * Origin: WOC'n on the DarkSide...The Misadventure Continues... (Opus
  1714. 1:228/5)
  1715.  
  1716. *** Part of a conversation.
  1717.  
  1718.  
  1719. From:    Jean-paul Louis 
  1720. To:      Eugene Baral                             Msg #71, 28-Jan-88 04:26pm
  1721. Subject: Re: Help requested
  1722.  
  1723. If you're using Turbo Pascal, You should try :
  1724. Procedure SoftBoot;
  1725. Inline($CD/$19);
  1726. That  
  1727. should do it.
  1728. Jean-Paul
  1729. --- QuickBBS v2.03
  1730.  * Origin: INFORMATION SYSTEMS BBS - (919)821-4370 (1:151/129)
  1731.  
  1732.  
  1733. From:    Moshe Boochbut 
  1734. To:      Ben Madison                              Msg #72, 28-Jan-89 06:49pm
  1735. Subject: Re: Modem
  1736.  
  1737. Sorry, but I forgot the subject of my replieing. ccould you please be more
  1738. specifiec. if we are talking about FOSSIL, well, you will have to wait for few
  1739. days, ccause my hard-disk want down..
  1740.          Moshe Boochbut
  1741.  
  1742.  
  1743. ---
  1744.  * Origin: ASCII -Home of TURBO PROGRAMMER- Raleigh (919)782-7752 PCP:NCRTP
  1745. (Opus 1:151/119)
  1746.  
  1747. *** There is a reply. See #162.
  1748.  
  1749.  
  1750. From:    Ray Sun 
  1751. To:      All                                      Msg #73, 28-Jan-89 06:26pm
  1752. Subject: Compatibility
  1753.  
  1754.  
  1755. I want to know why Turbo Pascal 5.0 isn't totally backward compatible with
  1756. Tp4.0 and Tp3.0....
  1757.  
  1758. It should be, like an EGA card having CGA support...You have to go through
  1759. that editing process or UPGRADE to change it, which doesn't actually fix
  1760. anything real.                    --YOU have to go back and change it.
  1761.  
  1762. Hmm...
  1763. --- QuickBBS v2.03
  1764.  * Origin: ** The Express Line, Winterville, GA (404) 742-7736 HST **
  1765. (1:370/22)
  1766.  
  1767.  
  1768. From:    Dan Wulff 
  1769. To:      Edward Samudro                           Msg #74, 24-Jan-89 07:27am
  1770. Subject: Day of the year
  1771.  
  1772. Hi Edward.
  1773.  
  1774. FUNCTION Number_Of_Days(Year,Month:INTEGER):BYTE;
  1775. BEGIN
  1776.   CASE Month OF
  1777.     1,3,5,7,8,10,12: Number_of_Days:=31;
  1778.     4,6,9,11       : Number_of_Days:=30;
  1779.     2 : IF(Year MOD 4=0) AND
  1780.          ((Year MOD 100<>0) OR (Year MOD 400=0)) THEN                         
  1781. Number_Of_Days:=29 ELSE                               Number_Of_Days:=28;
  1782.   END;
  1783. END;
  1784.  
  1785. FUNCTION DayNumber(Year,Month,Day:INTEGER):INTEGER;
  1786. VAR
  1787.   Days,i:INTEGER;
  1788. BEGIN
  1789.   Days:=Day;
  1790.   FOR i:=1 TO Month-1 DO
  1791.     Days:=Days+Number_Of_Days(Year,i);
  1792.   DayNumber:=Days;
  1793. END;
  1794.  
  1795. BEGIN    (* THE MAIN PROGRAM CALL *)
  1796.   WRITELN('The date',y,'-',m,'-',d,' is the day number ',DayNumber(y,m,d));
  1797. END.
  1798.  
  1799. Hope this will help you.
  1800.  
  1801. Dan
  1802.  
  1803. PS! Sorry about the format, but this editor does not allow much.
  1804.  
  1805. ---
  1806.  * Origin: Dragons Lair - The Role Playing Game BBS (Opus 2:231/57)
  1807.  
  1808.  
  1809. From:    Fabiano Fabris 
  1810. To:      Joaquim Homrighausen                     Msg #75, 27-Jan-89 10:19am
  1811. Subject: Re: PASCAL and TAP
  1812.  
  1813. Hello.
  1814.  
  1815.  ->  Most of you are probably not aware (or don't care) of the
  1816.  ->fact that TAP (the TransAtlanticProject) is sending this
  1817.  ->conference along with quite a few other conferences over
  1818.  ->the pond every night. We started TAP as a "echomail
  1819. I didn't know anything about this! Actually, I was wondering how the Echo
  1820. Mail was getting to the States and back, but kinda supposed it went through
  1821. the zone gates somehow. I guess I should have worried about it more.
  1822.  
  1823. Anyway, at this point, tell me what can be done!
  1824.  
  1825.    Fabiano Fabris,  Sysop 2:333/12
  1826. --- QuickBBS v2.03
  1827.  * Origin: -=] THE LINK [=- (* Down with C! *) (2:333/12)
  1828.  
  1829. *** There is a reply. See #78.
  1830.  
  1831.  
  1832. From:    Fabiano Fabris 
  1833. To:      Heikki Levanto                           Msg #76, 27-Jan-89 10:21am
  1834. Subject: Re: string+string
  1835.  
  1836.  
  1837. Just wanted to say that I admire all the effort you're putting into this
  1838. echo, like writing out routines for the benifit of all.
  1839.  
  1840. Hats off to you!
  1841. --- QuickBBS v2.03
  1842.  * Origin: -=] THE LINK [=- (* Down with C! *) (2:333/12)
  1843.  
  1844.  
  1845. From:    Fabiano Fabris 
  1846. To:      Heikki Levanto                           Msg #77, 27-Jan-89 10:23am
  1847. Subject: Re: C versus PASCAL
  1848.  
  1849.  
  1850.  ->BTW, I told of a small bug here, you can't put an init
  1851.  ->section of an unit into an include file.  Has that message
  1852.  ->disappeared, or don't you folks care ?
  1853.  
  1854. I saw the msg, but haven't had a chance to try it. I don't usually write
  1855. large programs, so it isn't often that I need to write Units; and even when
  1856. I do, they don't need INIT sections.
  1857. --- QuickBBS v2.03
  1858.  * Origin: -=] THE LINK [=- (* Down with C! *) (2:333/12)
  1859.  
  1860. *** Part of a conversation.
  1861.  
  1862.  
  1863. From:    Jesper Wolf 
  1864. To:      Joaquim Homrighausen                     Msg #78, 27-Jan-89 03:02pm
  1865. Subject: PASCAL and TAP
  1866.  
  1867. Hello Joaquim.
  1868. I think it would be a pitty if you close down Pascal and C_echo. How about
  1869. making a plea for donations. I didnt even know that you were transporting this
  1870. echo. If you were to send out a message once a month asking for donations i
  1871. think people would pay. Once you did it in interuser and as far as I know that
  1872. payed off.
  1873. I am unemployed and dont have much money, but if I can do anything to help
  1874. Pascal and C_echo to keep comming I am willing to pay. I dont even have your
  1875. postal account number (or that of Joakim) so I cant pay until i get it.
  1876. So please send us such a message and see what happens. I have been on this
  1877. echo for quite a while but have newer seen any plea for contributions.
  1878.  
  1879. Greetings from Denmark.
  1880.  
  1881.  
  1882. --- msged 1.943S TC (JW)
  1883.  * Origin: Wolf's Point. Nærum, Denmark.  (fidonet 2:230/30.10)
  1884.  
  1885. *** Part of a conversation.
  1886.  
  1887.  
  1888. From:    Tomas Gradin 
  1889. To:      Ross Wentworth                           Msg #79, 28-Jan-89 04:32pm
  1890. Subject: TPPOP18B
  1891.  
  1892. What is it? And, where can I find it? ShareWare?
  1893.  
  1894. Best Regards,
  1895. Tomas 
  1896.  
  1897. --- msged 1.96L TC (TG)
  1898.  * Origin: Walkabout Creek (fidonet 2:501/139)
  1899.  
  1900. *** There is a reply. See #192.
  1901.  
  1902.  
  1903. From:    Joaquim Homrighausen 
  1904. To:      Fabiano Fabris                           Msg #80, 29-Jan-89 04:37am
  1905. Subject: Re: PASCAL and TAP
  1906.  
  1907.  > I didn't know anything about this! Actually, I was
  1908.  > wondering how the Echo Mail was getting to the States
  1909.  > and back, but kinda supposed it went through the zone
  1910.  > gates somehow. I guess I should have worried about
  1911.  > it more.
  1912.  
  1913.   What can be done is that people start worrying about how they should get
  1914. their echomail. Most people reading echomail/groumail conferences don't give a
  1915. shit about who's footing the bill for it.
  1916.  
  1917.   The problem is that when I (TAP/1, USA) and Joakim Hernberg (TAP/2, Europe)
  1918. ask for contributions etc. people say "oh yes, what a marvelous idea".. and
  1919. that's the end of it.
  1920.  
  1921.   It takes regular contributions, say $5 - $10 / month / user and we should be
  1922. in good shape. Paying for something you use, usually forces a somewhat better
  1923. quality in conferences as well.
  1924.  
  1925.                               -joaquim
  1926.                                TAP/1 Coordinator
  1927.  
  1928.  
  1929. --- FD TosScan .17 (286)
  1930.  * Origin: Home of the "Protocol Engine" (PE) (1:135/20.1)
  1931.  
  1932. *** Part of a conversation.
  1933.  
  1934.  
  1935. From:    Joaquim Homrighausen 
  1936. To:      All                                      Msg #81, 29-Jan-89 04:48am
  1937. Subject: TAP and PASCAL
  1938.  
  1939.  
  1940.  The TransAtlanticProject
  1941.  Echomail, Zone 1<>Zone 2
  1942.  
  1943.  This conference is shipped to Europe every night by TAP. When TAP/1 calls
  1944. TAP/2, it'll pickup any mail waiting and distribute it in Zone 1.
  1945.  
  1946.  I and Joakim Hernberg started the TransAtlanticProject (TAP) in the winter of
  1947. 1987 and would like to continue. But without your help it won't work. We need
  1948. contributions regularly. Nothing big, $5-$10 per month or so will do.
  1949.  
  1950.  We're by no means trying to make money out of this (it would be ridiculous to
  1951. even try), but my phone bill for TAP echomail has grown and is still growing
  1952. (we're beyond _expensive_). We also think that if the readers of this
  1953. conference contributes, it'll force a somewhat higher quality of the
  1954. conference.
  1955.  
  1956.  To contribute, send whatever you feel this conference is worth to you to
  1957.  
  1958.  Joaquim Homrighausen
  1959.  11466-Y SW 109th RD
  1960.  Miami FL 33176
  1961.  
  1962.  Thank you.
  1963.  
  1964.                               -joaquim
  1965.                               TAP/1 Coordinator
  1966.  
  1967.  
  1968. --- FD TosScan .17 (286)
  1969.  * Origin: Home of the "Protocol Engine" (PE) (1:135/20.1)
  1970.  
  1971. *** There is a reply. See #138.
  1972.  
  1973.  
  1974. From:    Mark Howard 
  1975. To:      Steve Butler                             Msg #82, 29-Jan-89 02:47pm
  1976. Subject: Re: File Move Procedure
  1977.  
  1978.  >  > Would anybody know where I might be able to get a
  1979.  >  > procedure to move a file
  1980.  >  > from one directory to another directory.
  1981.  >
  1982.  > Look for RED.* or MV.* on most BBS around the country.  I'm sure
  1983.  > that 138/3 has them available. (206/845-4257)
  1984.  
  1985. The key word here was procedure.  Tom wanted to do it withing a Pascal
  1986. program, without shelling to DOS.  By the time I had contacted him, he had
  1987. already realized the the Rename procedure will do this quite nicely, as long
  1988. as the file isn't being moved to another drive.
  1989.  
  1990. -m
  1991.  
  1992. --- FD 2.00
  1993.  * Origin: QuickBBS East [HST] - Distribution & Support (1:260/340)
  1994.  
  1995. *** This is a reply to #18.
  1996.  
  1997.  
  1998. From:    Mark Howard 
  1999. To:      Jesper Wolf                              Msg #83, 29-Jan-89 02:52pm
  2000. Subject: TESSERACT
  2001.  
  2002.  > I got hold of a version of tesseract for Turbopascal ver 4 but
  2003.  > need one for Turbopascal Ver 5. Does anyone know if that one
  2004.  > exists?
  2005.  
  2006. Call (215)884-3373.  The Tesseract Development Team.
  2007.  
  2008. -m
  2009.  
  2010. --- FD 2.00
  2011.  * Origin: QuickBBS East [HST] - Distribution & Support (1:260/340)
  2012.  
  2013. *** There is a reply. See #181.
  2014.  
  2015.  
  2016. From:    Neil Sharma 
  2017. To:      All                                      Msg #84, 29-Jan-89 12:17pm
  2018. Subject: tpboard 5.0
  2019.  
  2020. I am looking for the source to Tpboard 5.0 does anyone know where i can find
  2021. it?? thanks!!! The reason i need it is cuz i run a bbs using Tpboard (a pascal
  2022. bbs) and have been unable to find it. Thanks for any help!!
  2023.  
  2024.  
  2025. ---
  2026.  * Origin: Waterford Software BBS, Silver Spring, Md. (Opus 1:109/505)
  2027.  
  2028. *** There is a reply. See #223.
  2029.  
  2030.  
  2031. From:    Rod Bartlett 
  2032. To:      Steve Hartmann                           Msg #85, 28-Jan-89 11:38am
  2033. Subject: Re: DOS Commands.
  2034.  
  2035.  SH>  > I was wondering if there was a way to call DOS internal
  2036.  SH>  > commands (example: copy, del, etc.) from within a program.
  2037.  SH>  > Also, is there a way to run another program and return
  2038.  SH>  > to the current one? (In essence a DOS shell). I mean without
  2039.  SH> 
  2040.  SH> If you are using Turbo Pascal, Just use the EXEC procedure.  If your 
  2041.  SH> are not using Turbo pascal, Look in your DOS manual .. I beleive there 
  2042.  SH> is a DOS function for running Child Processes.
  2043.  
  2044. Actually, you must be using TP version 4.0 or later to use the EXEC procedure.
  2045. As for the use of internal DOS commands, the EXEC call would look something
  2046. like the following:
  2047.  
  2048.    EXEC('\COMMAND.COM','/C type autoexec.bat');
  2049.  
  2050. If you're not using Turbo Pascal 4.0 or later, you have to use DOS function
  2051. call $4B.  This function is a bit too complex to cover in a message.  It is
  2052. covered in some detail in a variety of books, my favorite being "Advanced
  2053. MS-DOS" by Ray Duncan.
  2054.  
  2055.  
  2056. --- msged 1.94S ZTC
  2057.  * Origin: Norwegian Fjord  (1:109/117.102)
  2058.  
  2059.  
  2060. From:    Rod Bartlett 
  2061. To:      Holger Schurig                           Msg #86, 28-Jan-89 11:50am
  2062. Subject: Re: C versus PASCAL
  2063.  
  2064.  HS> This is true. But the editor under 5.0 is slower then the one under 4.0
  2065.  HS> (which was slower than 3.0, too). Borland has become the same illness
  2066.  HS> as the rest of the pc-world: getting to big (because of using high-
  2067.  HS> level-language code) and to slow (same reason). A good compiler must
  2068.  HS> programmed in machine language, everything other makes him big. And a
  2069.  HS> big compiler isn't usable ╚í╦╠(HL■
  2070. NO CARRIER
  2071. 86
  2072.  
  2073.  
  2074. From:    Rod Bartlett 
  2075. To:      Holger Schurig                           Msg #86, 28-Jan-89 11:50am
  2076. Subject: Re: C versus PASCAL
  2077.  
  2078.  HS> This is true. But the editor under 5.0 is slower then the one under 4.0
  2079.  HS> (which was slower than 3.0, too). Borland has become the same illness
  2080.  HS> as the rest of the pc-world: getting to big (because of using high-
  2081.  HS> level-language code) and to slow (same reason). A good compiler must
  2082.  HS> programmed in machine language, everything other makes him big. And a
  2083.  HS> big compiler isn't usable for programs with many symbols to memorize.
  2084.  HS>   Viele Gruesse, Holger
  2085.  
  2086. One of the major reasons that TP 5.0 is larger than it's predecessors is
  2087. because they keep adding new functionality.  I disliked the larger size when I
  2088. upgraded from TP 3.0 to 4.0 but soon found myself addicted to units and the
  2089. smaller program size possible.  Now, version 5.0 gives us the integrated
  2090. debugger and the ability to put the editor buffer in EMS.  It's a much more
  2091. powerful language than ever before and for that I'm willing to accept the
  2092. tradeoff of the larger compiler size.  Besides, when TP first came out, the
  2093. average memory size was smaller and most machines didn't have hard drives. 
  2094. Now that the opposite is true, why shouldn't Borland use machines to their
  2095. More [Y,n]? 
  2096. fullest capability?
  2097.    Rod Bartlett
  2098.  
  2099.  
  2100. --- msged 1.94S ZTC
  2101.  * Origin: Norwegian Fjord  (1:109/117.102)
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117. *** Part of a conversation.
  2118.  
  2119.  
  2120. [86] Highest: 251.  Press Enter for NEXT msg.
  2121. ECHO area 45 ... Pascal language echo
  2122. Type `?' by itself for help
  2123. A)rea change       N)ext (read msg)   P)rior msg         E)nter message
  2124. R)eply             =)read non-stop    -)read original    +)read reply
  2125. L)ist (brief)      I)nquire           M)AIN MENU         G)oodbye (logoff)
  2126. K)ill message      U)pload            
  2127. Select: =
  2128.  
  2129.  
  2130.  
  2131. From:    Frank Barrus 
  2132. To:      Robert Turner                            Msg #87, 25-Jan-89 12:02pm
  2133. Subject: Re: File Existance...
  2134.  
  2135. Okay, I'll check it out... Hopefully the record will return
  2136. the file size properly too.  I think I'll check that out
  2137. this afternoon, and update my standard I/O units for my BBS
  2138. source code.
  2139. When you say that it didn't work properly on any other computer,
  2140. do you mean the way you did it, or just the FindFirst procedure?
  2141. I can't see why it wouldn't work- it uses standard MSDOS calls,
  2142. or so I thought. What machine do you have, and what machine did
  2143. you test it on?
  2144. Well, I wish you luck, (and me luck too..) and I'll keep
  2145. you informed as to the results. (Please write back to remind
  2146. me or I might forget though..)
  2147.   
  2148.     - Frank  (oh, and no need to call me 'sir' - I'm just another
  2149. friendly Pascal programmer...)
  2150.  
  2151.  
  2152. ---
  2153.  * Origin: Dave's OPUS!/BINK *SDS*SDN*HST* Lowell MA (Opus 1:324/275)
  2154.  
  2155. *** There is a reply. See #88.
  2156.  
  2157.  
  2158. From:    Frank Barrus 
  2159. To:      Hector Santos                            Msg #88, 25-Jan-89 12:08pm
  2160. Subject: Re: File Existance...
  2161.  
  2162. Thanks for the help. I'll try it now...
  2163.  
  2164.  
  2165. ---
  2166.  * Origin: Dave's OPUS!/BINK *SDS*SDN*HST* Lowell MA (Opus 1:324/275)
  2167.  
  2168. *** This is a reply to #87.
  2169.  
  2170.  
  2171. From:    dj murdoch Of 324/1 
  2172. To:      Gary Doughty                             Msg #89, 21-Jan-89 09:07am
  2173. Subject: Quick Sort
  2174.  
  2175. Here's the sort unit I use.  It only works in version 5, because of the
  2176. procedural types, but you should be able to modify it for other versions.
  2177.  
  2178. --------------- SORTS.PAS --------------
  2179. unit sorts;
  2180.  
  2181. interface
  2182.  
  2183. type
  2184.   float = double;
  2185.   comparison = function(a,b:pointer):boolean;
  2186.   array_function = function(i:integer):float;
  2187.  
  2188. procedure list_sort(var start:pointer; greater:comparison);
  2189. { Procedure to do list insertion sort on the linked list pointed to by start.
  2190.   Greater points to the entry for a far function with declaration
  2191.     function greater^(i,j:pointer):boolean which returns true if i^ > j^
  2192.     and false otherwise.
  2193.   Assumes that pointers point to pointers, i.e. links should be the first
  2194.   element of records in the list.
  2195.   N.B.  If enough memory is available, it seems to be faster to make the list
  2196.   into an array, use arr_sort, and then un_make the array when there are
  2197.   more than about 100 records.
  2198.   }
  2199.  
  2200. procedure arr_sort(var arr;size:word;greater:comparison);
  2201. { Procedure to do a Quicksort on the array of pointers pointed to by arr.
  2202.   Greater is as in list_sort.  Makes no assumptions about what pointers
  2203.   point to.
  2204.   Based on Quicksort as given in Steal This Code, by F.D. Boswell, Watcom
  2205. 1986.
  2206. }
  2207.  
  2208. function count_list(list:pointer):longint;
  2209. { Counts the number of elements in the list}
  2210.  
  2211. function make_array(list:pointer;size:longint;var arr:pointer):boolean;
  2212. { Attempts to make an array of pointers from the list.  Returns true on
  2213.   success, false if it failed because not enough memory is available. Always
  2214.   creates an array with size elements, but only fills those up to the
  2215.   smaller of the actual size of the list or size. }
  2216.  
  2217. procedure un_make_array(var list:pointer;size:integer;var arr);
  2218. { Adjusts the pointers in the list to reflect the ordering in the array.
  2219.   Doesn't check that they are all valid - be sure size reflects the
  2220.   true number of pointers in the array. }
  2221.  
  2222. function locate(xx:array_function; n:integer; x:float):integer;
  2223. { Given a float-valued function on the integers 1..n which is monotone
  2224.   increasing or decreasing, and given a value x, returns an index j such
  2225.   that x is between xx[j] and xx[j+1].  Returned values of 0 and n indicate
  2226.   that x is out of range.  From Numerical Recipes in C, Press et al.
  2227. Translated
  2228.   to Pascal by djm }
  2229.  
  2230. function hunt(xx:array_function; n:integer; x:float; guess:integer):integer;
  2231. {  Given a float valued function xx on integer values 1..n, and given
  2232.    a value x, returns a value j such that x is between xx(j) and xx(j+1).
  2233.    xx must be monotonic, either increasing or decreasing.  Values of 0 or n
  2234.    are returned to signal that x is out of range.  Guess on input is taken as
  2235.    the initial guess for the value of hunt on output.  From Press et al,
  2236.    Numerical Recipes in C, translated to Pascal by djm.
  2237. }
  2238.  
  2239. implementation
  2240.  
  2241. type
  2242.   list_ptr = ^list_rec;
  2243.   list_rec = record
  2244.     next : list_ptr;
  2245.   end;
  2246.   ptr_array = array[1..16380] of pointer;
  2247.  
  2248. procedure list_sort(var start:pointer; greater:comparison);
  2249. var
  2250.   first,rest,current,next:list_ptr;
  2251. begin
  2252.   rest := list_ptr(start)^.next;     { Rest points to the uninserted part of
  2253. the list }
  2254.   first := start;          { first is a fake first entry in the new list }
  2255.   first^.next := nil;
  2256.   start := @first;
  2257.   while rest <> nil do
  2258.   begin
  2259.     current := start;
  2260.     next := current^.next;
  2261.     while (next <> nil) and (not greater(next,rest)) do
  2262.     begin
  2263.       current := next;
  2264.       next := current^.next;
  2265.     end;
  2266.     current^.next := rest;
  2267.     current := rest;
  2268.     rest := rest^.next;
  2269.     current^.next := next;
  2270.   end;
  2271.   start := first;
  2272. end;
  2273.  
  2274. procedure arr_sort(var arr;size:word;greater:comparison);
  2275. { Procedure to do a Quicksort on the array of pointers pointed to by arr.
  2276.   Greater is as in list_sort.  Makes no assumptions about what pointers
  2277.   point to.
  2278.   Based on Quicksort as given in Steal This Code, by F.D. Boswell, Watcom
  2279. 1986.
  2280. }
  2281. var
  2282.   a:ptr_array absolute arr;
  2283.  
  2284.   procedure quick(first,last : word);
  2285.   var
  2286.     pivot : pointer;
  2287.     temp : pointer;
  2288.     scanright, scanleft : word;
  2289.   begin
  2290.     if (first < last) then
  2291.     begin
  2292.       pivot := a[first];
  2293.       scanright := first;
  2294.       scanleft := last;
  2295.       while scanright < scanleft do
  2296.       begin
  2297.         if greater(a[scanright+1], pivot) then
  2298.         begin
  2299.           if not greater(a[scanleft], pivot) then
  2300.           begin
  2301.             temp := a[scanleft];
  2302.             inc(scanright);
  2303.             a[scanleft] := a[scanright];
  2304.             a[scanright] := temp;
  2305.             dec(scanleft);
  2306.           end
  2307.           else
  2308.             dec(scanleft);
  2309.         end
  2310.         else
  2311.           inc(scanright);
  2312.       end;
  2313.       temp := a[scanright];
  2314.       a[scanright] := a[first];
  2315.       a[first] := temp;
  2316.       quick(first, scanright-1);
  2317.       quick(scanright+1, last);
  2318.     end;
  2319.   end;
  2320. begin  {arr_sort}
  2321.   quick(1, size);
  2322. end;
  2323.  
  2324.  
  2325. function count_list(list:pointer):longint;
  2326. { Counts the number of elements in a list }
  2327. var
  2328.   l:list_ptr absolute list;
  2329.   size:longint;
  2330. begin
  2331.   size := 0;
  2332.   while l <> nil do
  2333.   begin
  2334.     inc(size);
  2335.     l := l^.next;
  2336.   end;
  2337.   count_list := size;
  2338. end;
  2339.  
  2340. function make_array(list:pointer;size:longint;var arr:pointer):boolean;
  2341. { Attempts to make an array of pointers from the list.  Returns true on
  2342.   success, false if it failed because not enough memory is available }
  2343. var
  2344.   l:list_ptr absolute list;
  2345.   mem_needed:longint;
  2346.   a:^ptr_array absolute arr;
  2347.   i:integer;
  2348. begin
  2349.   mem_needed := size*sizeof(pointer);
  2350.   if (mem_needed > 65520) or (mem_needed > MemAvail) then
  2351.   begin
  2352.     make_array := false;
  2353.     exit;
  2354.   end;
  2355.   GetMem(a,mem_needed);
  2356.   i := 0;
  2357.   while (i<size) and (l <> nil) do
  2358.   begin
  2359.     inc(i);
  2360.     a^[i] := l;
  2361.     l := l^.next;
  2362.   end;
  2363.   make_array := true;
  2364. end;
  2365.  
  2366. procedure un_make_array(var list:pointer;size:integer;var arr);
  2367. { Adjusts the pointers in the list to reflect the ordering in the array.
  2368.   Doesn't check that they are all valid - be sure size reflects the
  2369.   true number of pointers in the array. }
  2370. var
  2371.   l:list_ptr absolute list;
  2372.   current,next:list_ptr;
  2373.   a:ptr_array absolute arr;
  2374.   i:integer;
  2375. begin
  2376.   l := a[1];
  2377.   current := l;
  2378.   for i := 2 to size do
  2379.   begin
  2380.     next := a[i];
  2381.     current^.next := next;
  2382.     current := next;
  2383.   end;
  2384.   current^.next := nil;
  2385. end;
  2386.  
  2387. function locate(xx:array_function; n:integer; x:float):integer;
  2388. { Given a float-valued function on the integers 1..n which is monotone
  2389.   increasing or decreasing, and given a value x, returns an index j such
  2390.   that x is between xx[j] and xx[j+1].  Returned values of 0 and n indicate
  2391.   that x is out of range.  From Numerical Recipes in C, Press et al.
  2392. Translated
  2393.   to Pascal by djm }
  2394. var
  2395.   ascnd : boolean;
  2396.   ju,jm,jl : integer;
  2397.  
  2398. begin
  2399.   jl := 0;                       { initialize lower }
  2400.   ju := n+1;                     { initialize upper }
  2401.   ascnd := xx(n) > xx(1);
  2402.   while (ju-jl > 1) do
  2403.   begin
  2404.     jm := (ju+jl) shr 1;
  2405.     if ((x > xx(jm)) = ascnd) then
  2406.       jl := jm
  2407.     else
  2408.       ju := jm;
  2409.   end;
  2410.   locate := jl;
  2411. end;
  2412.  
  2413. function hunt(xx:array_function; n:integer; x:float; guess:integer):integer;
  2414. {  Given a float valued function xx on integer values 1..n, and given
  2415.    a value x, returns a value j such that x is between xx(j) and xx(j+1).
  2416.    xx must be monotonic, either increasing or decreasing.  Values of 0 or n
  2417.    are returned to signal that x is out of range.  Guess on input is taken as
  2418.    the initial guess for the value of hunt on output.  From Press et al,
  2419.    Numerical Recipes in C, translated to Pascal by djm.
  2420. }
  2421. var
  2422.   jlo,jm,jhi,incr :integer;
  2423.   ascnd : boolean;
  2424. label
  2425.   break1,break2;
  2426.  
  2427. begin
  2428.   ascnd := (xx(n) > xx(1));
  2429.   if (guess <= 0) or (guess >= n) then
  2430.   begin
  2431.     jlo := 0;                              { Input guess not useful. }
  2432.     jhi := n+1;
  2433.   end
  2434.   else
  2435.   begin
  2436.     jlo := guess;
  2437.     incr := 1;
  2438.     if (x >= xx(jlo)) = ascnd then        { hunt up }
  2439.     begin
  2440.       if (jlo = n) then
  2441.       begin
  2442.         hunt := jlo;
  2443.         exit;
  2444.  
  2445.  
  2446. --- ConfMail V4.00
  2447.  * Origin: Shakers BBs ... -=-{ SDS,SDN NET 324 }-=- (1:324/170)
  2448.  
  2449. *** Part of a conversation.
  2450.  
  2451.  
  2452. From:    Anne Wilson 
  2453. To:      All                                      Msg #90, 29-Jan-89 01:01pm
  2454. Subject: Check Printer Status
  2455.  
  2456. Can anyone help me find some code that will check to see if printer is ready,
  2457. & if not let my program recover from the error. I have looked in numerous
  2458. books, but the code I've found is different in all & none of it works.   
  2459. Thanks, Anne.
  2460.  
  2461.  
  2462. ---
  2463.  * Origin: SoundingBoard 713-821-4148 Houston `Just Say NOpus' (Opus 1:106/12)
  2464.  
  2465. *** There is a reply. See #92.
  2466.  
  2467.  
  2468. From:    Chris Cavers 
  2469. To:      All                                      Msg #91, 29-Jan-89 02:51pm
  2470. Subject: 3 points
  2471.  
  2472. Someone mentioned a statement like:
  2473. IF (boolean expression) THEN ;
  2474. This should work because the definition of the Pascal language 
  2475. accepts NULL statements as OK.
  2476. That is why the following code will work
  2477.  
  2478. IF (true) THEN
  2479. BEGIN
  2480. END;
  2481.  
  2482.  
  2483. Also, someone asked about the printer status.
  2484. use the interrupt function to call the dos interrupt that reads the printer
  2485. status...it will tell you if the printer is on/ofline out of paper and other
  2486. things...ask someone that has a programmer's reference for dos about the 
  2487. printer interrupt....if not, leave me mail and i'll get you the info.
  2488.  
  2489.  
  2490. To our friends in Europe,
  2491.    I have heard that Modula-2 is very popular over there.
  2492. Can anyone confirm this?
  2493.  
  2494. C
  2495.  
  2496.  
  2497. --- TAGMAIL v0.22.02 Beta
  2498.  * Origin: My Private Hell -- Houston,Tx (713)980-4824 (1:106/666.0)
  2499.  
  2500.  
  2501. From:    Rich Myers 
  2502. To:      Anne Wilson                              Msg #92, 29-Jan-89 05:02pm
  2503. Subject: Re: Check Printer Status
  2504.  
  2505.  
  2506.  
  2507.  AW>Can anyone help me find some code that will check to see if printer 
  2508.  AW>is ready, & if not let my program recover from the error. I have 
  2509.  AW>looked in numerous books, but the code I've found is different 
  2510.  AW>in all & none of it works.    Thanks, Anne. 
  2511.  AW> 
  2512.  
  2513. This function came out of some code I had laying around.  I did not write it
  2514. nor do I know who did.  It works for me on most printers and I hope it will
  2515. work for you. 
  2516.  
  2517. function printer_ready :boolean; var Recpack : registers; begin 
  2518.     with recpack do 
  2519.     begin 
  2520.         ah := 2; 
  2521.         dx := 0; 
  2522.         intr($17,recpack); 
  2523.         if ah = 144 then 
  2524.            printer_ready := true 
  2525.         else 
  2526.            printer_ready := false; 
  2527.     end; 
  2528. end; 
  2529.  
  2530.  
  2531. Rich 
  2532.  
  2533.   
  2534.  
  2535. ---
  2536.  * Origin: The Twilight Zone (Opus 1:106/301)
  2537.  
  2538. *** This is a reply to #90.
  2539.  
  2540.  
  2541. From:    Dave Goggin 
  2542. To:      Jon Guthrie                              Msg #93, 29-Jan-89 12:45pm
  2543. Subject: Re: COMMENT BRACKETS
  2544.  
  2545.   WELL, that you ask, the term program is the gulity one.  basically my
  2546. machine doen't have curly brackets, but the term program redefined the
  2547. character set to give one, but left the other one there as the clearscreen. I
  2548. think its stupid too.  
  2549. --- TBBS v2.0
  2550.  * Origin: G.A.D.M. Multi-User TBBS Hayward,CA.(415) 581-3019  (161/208)
  2551.  
  2552.  
  2553. From:    Dave Goggin 
  2554. To:      Dj Murdoch                               Msg #94, 29-Jan-89 12:58pm
  2555. Subject: Re: NEXT TP VERSION
  2556.  
  2557. did you send mine too?
  2558. --- TBBS v2.0
  2559.  * Origin: G.A.D.M. Multi-User TBBS Hayward,CA.(415) 581-3019  (161/208)
  2560.  
  2561. *** There is a reply. See #203.
  2562.  
  2563.  
  2564. From:    Dave Goggin 
  2565. To:      Doug Lewis                               Msg #95, 29-Jan-89 01:05pm
  2566. Subject: Re: YEAR 2000
  2567.  
  2568. I believe that although 2000 is a leap year, it doesn't have the leapday added
  2569. because 2000 MOD 400 = 0.
  2570. --- TBBS v2.0
  2571.  * Origin: G.A.D.M. Multi-User TBBS Hayward,CA.(415) 581-3019  (161/208)
  2572.  
  2573. *** There is a reply. See #156.
  2574.  
  2575.  
  2576. From:    Tony Hsieh 
  2577. To:      Mike Janke                               Msg #96, 29-Jan-89 07:38pm
  2578. Subject: Re: HELP ON THE WAY
  2579.  
  2580. The statement
  2581. IF READKEY=#0 then ;
  2582. means that it's going to call the function READKEY, but not do anything. It's
  2583. just as if READKEY was a procedure; but since it isn't, you have to do
  2584. something like If readkey=#0 then;
  2585. the reason for the semi-colon immediately after the then is so that it'll mean
  2586. "do nothing."
  2587. --- TBBS v2.0
  2588.  * Origin: G.A.D.M. Multi-User TBBS Hayward,CA.(415) 581-3019  (161/208)
  2589.  
  2590. *** Part of a conversation.
  2591.  
  2592.  
  2593. From:    Robert Bequette 
  2594. To:      Mike Janke                               Msg #97, 30-Jan-89 01:19pm
  2595. Subject: Re: Help On The Way
  2596.  
  2597. Sure thing.  The "THEN ;" just tells it to execute a null instruction
  2598. (nothing) if the condition is TRUE.
  2599.  
  2600.  
  2601. ---
  2602.  * Origin: NightLine-1/HST, Mather AFB Ca, (916)362-0715 <HST:362-1755> (Opus
  2603. 1:203/39)
  2604.  
  2605. *** Part of a conversation.
  2606.  
  2607.  
  2608. From:    Phil Barnes 
  2609. To:      All                                      Msg #98, 30-Jan-89 04:45pm
  2610. Subject: Conversion Utilities
  2611.  
  2612. Can someone tell me where I can get a set of coversion utilities?
  2613. (eg, C to PASCAL, BASIC to PASCAL, ASM to PASCAL)
  2614.  
  2615. Thanks in advance,
  2616.      Phil..
  2617.  
  2618. --- FD 2.00
  2619.  * Origin: The Fortress! Running Turbo(Pascal) Quick(BBS) - (1:286/704)
  2620.  
  2621.  
  2622. From:    Dave Goggin 
  2623. To:      Joaquim Homrighausen                     Msg #99, 30-Jan-89 01:53pm
  2624. Subject: Re: PASCAL AND TAP
  2625.  
  2626. i donated a big amount just today to help out.  this is a great service.
  2627. --- TBBS v2.0
  2628.  * Origin: G.A.D.M. Multi-User TBBS Hayward,CA.(415) 581-3019  (161/208)
  2629.  
  2630. *** This is a reply to #80.
  2631.  
  2632.  
  2633. From:    Rolf Thomassen 
  2634. To:      Tom Freedy                               Msg #100, 26-Jan-89 10:26am
  2635. Subject: Help
  2636.  
  2637.  > Hello all, i just got a Turbo Pascal file from the States, and i want to
  2638.  > change it to run in Turbo 5. The problem is this
  2639.  >        Sum :Byte Absolute Cseg:$0080;
  2640.  > that is my problem, can anybody tell me how to change it?
  2641.  
  2642. You just change it to:
  2643.  
  2644.    Sum : BYTE absolute PreFix:$0080;
  2645.  
  2646. * RT *
  2647.  
  2648. --- ConfMail V3.31
  2649.  * Origin: Thunderbolt CBCS, Denmark [+45-2-951323 #CM] (2:231/60)
  2650.  
  2651. *** Part of a conversation.
  2652.  
  2653.  
  2654. From:    Wesley Williams 
  2655. To:      Andy Lester                              Msg #101, 29-Jan-88 06:32pm
  2656. Subject: Re: Accessing clock
  2657.  
  2658. -> stop" procedures in Pascal.  The exception that I can think
  2659. -> of  is Turbo's Sound() procedure.
  2660. Yes, and it can be annoting at times also!
  2661.  
  2662. Thanks,
  2663. WW]I[
  2664. --- QuickBBS v2.03
  2665.  * Origin: Down in Music City, Pascal Lives (1:116/31)
  2666.  
  2667.  
  2668. From:    Soloman Blue 
  2669. To:      Ross Wentworth                           Msg #102, 29-Jan-89 08:39pm
  2670. Subject: Re: Pascal Sucks
  2671.  
  2672. Ross--
  2673.   The message regarding Howard Jiang and his views toward Pascal:
  2674.  >   IReally Think Pascal Sucks !!!!! Sucks So Bad That I Cant
  2675.  > Even get a  > Taste!!!!!!    You Pascal Programers Bit The Big One!!!!!!
  2676.  >             If You Have any Comments to me call Me at
  2677.  >                          602-297-6490
  2678.  
  2679. This is obviously an immature act perpetrated by children.  Also it is a
  2680. 'hack' of sorts.  Someone got a hold of Mr. Jiang's password and proceeded to
  2681. spread the word, so to speak.  I don't think Howard gets to these parts so
  2682. that's why I am acting in his defense.
  2683.  
  2684. Soloman Blue
  2685. --- QuickBBS v2.03
  2686.  * Origin: The Hour Glass SDNet/Works! Region 15 SDNRC (1:300/12)
  2687.  
  2688. *** Part of a conversation.
  2689.  
  2690.  
  2691. From:    Syd Kahn 
  2692. To:      All                                      Msg #103, 08-Feb-89 05:48am
  2693. Subject: Printing Graphics
  2694.  
  2695. I have seen all these toolboxes, both Shareware and Pay, but as of yet have
  2696. not seen any that support printing a graphics screen. 
  2697.   
  2698. Could some kind soul please provide: 
  2699.   
  2700.  1) Name of a tollbox that prints graphics. 
  2701.             -or- 
  2702.  2) A Pascal book that has routine primitives. 
  2703.  
  2704.  It neither of these exist, maybe someone can point me to 
  2705. articles/books that outline the various screen structures, and I'll have to
  2706. home brew some.   
  2707.   
  2708.  Be sure that when I am finished, I'll share it with everyone 
  2709. here.  It would be the least I could do for all the usefull code fragments
  2710. that makes my life so much easier. 
  2711.   
  2712.  Sincerly 
  2713.  Syd Kahn 
  2714.  
  2715. ---
  2716.  * Origin: Komputer Klassified, WOCing in the City at night (Opus 1:102/731)
  2717.  
  2718. *** There is a reply. See #194.
  2719.  
  2720.  
  2721. From:    Brian Matlock 
  2722. To:      All                                      Msg #104, 30-Jan-88 08:57pm
  2723. Subject: PASCAL
  2724.  
  2725. Any PASCAL Programmers out there?
  2726. --- QuickBBS v2.03
  2727.  * Origin: WriteLn('I`ve got Pascal's Elbow!');  Connect 2400! (1:130/39)
  2728.  
  2729. *** Part of a conversation.
  2730.  
  2731.  
  2732. From:    Ben Madison 
  2733. To:      Joseph Dejesus                           Msg #105, 29-Jan-89 03:41pm
  2734. Subject: BBS
  2735.  
  2736. I hate to say it but I haven't the foggiest notion as to where to get it, but
  2737. I do know that WWIV BBS is written in Pascal, and that there is a version
  2738. floating around which has been converted to TP5.0.  
  2739. TPBoard is also written in TP, but I think that there are several other
  2740. commercial units required to compile it, and again I don't know where to get
  2741. the source.  (I have left a message concerning the source to the SysOp of The
  2742. Pass TPBoard, but so far have received no reply...  we talked in late '88 and
  2743. he said that they were about to quit releasing source, so they might have
  2744. already - hope not!)
  2745. If you find anything out then please post it, as I would be very interested in
  2746. hearing it...
  2747. jbm
  2748.  
  2749.  
  2750. --- Opus-CBCS 1.10.vi
  2751.  * Origin: Crystal Palace  The Ghost in the Machine  (1:382/1.0)
  2752.  
  2753. *** There is a reply. See #130.
  2754.  
  2755.  
  2756. From:    Ben Madison 
  2757. To:      George Butts                             Msg #106, 29-Jan-89 03:53pm
  2758. Subject: Async10.Arc
  2759.  
  2760. I have ASYNC10 running no problem - it was simply a matter of assembling
  2761. async10.asm into async10.obj with TASM (no command line params but the file
  2762. name) and changing the ASYNC10.PAS file to link ASYNC10.OBJ instead of
  2763. C:\ASM\ASYNC10.OBJ (in other words, get rid of the path...)
  2764. If people need the .OBJ file, I suppose it would be legal to post if for
  2765. download, wouldn't it?  If I don't hear any objections in the next week or so
  2766. then I will post ASYNC10.OBJ in the Pascal area of the MeisterBoard, at
  2767. (512)/476-4770...
  2768. jbm
  2769.  
  2770.  
  2771. --- Opus-CBCS 1.10.vi
  2772.  * Origin: Crystal Palace  The Ghost in the Machine  (1:382/1.0)
  2773.  
  2774. *** This is a reply to #63.
  2775.  
  2776.  
  2777. From:    Rolan Yang 
  2778. To:      All                                      Msg #107, 29-Jan-89 12:38am
  2779. Subject: VIRUS
  2780.  
  2781. I previously read a message about someone trying to write a virus
  2782. in pascal. Well, my computer class is the most boring in the world
  2783. and in between assignments I've been working on one. I have a working
  2784. copy (I think I'll upload it sometime). It's pretty cheap and useless.
  2785. At first it pretends to erase everything from your disk except 
  2786. command.com and 2 other files which if you TYPE will give you some
  2787. small message. Then after 10 times of unsuccessfully doing anything,
  2788. all your files come back on to the disk BUT you cant run anything.
  2789. then after another 10 times of not doing anything, All traces of the
  2790. virus dissapear and it ends with a small warning about being aware
  2791. of viruses and their destructivness.
  2792.    
  2793. Does anyone know how I can get a directory into a TXT file from a 
  2794. pascal program??
  2795.  In dos it's   DIR >CAT.TXT
  2796.   CAT.TXT begin the file which would contain the directory.
  2797.                                                -The Alligator
  2798. --- QuickBBS v2.03
  2799.  * Origin: MicroMan BBS - Piscataway, NJ (201)463-1540 (1:107/334)
  2800.  
  2801. *** There is a reply. See #173.
  2802.  
  2803.  
  2804. From:    Mike Hinds 
  2805. To:      Fabiano Fabris                           Msg #108, 28-Jan-89 01:02pm
  2806. Subject: Quotes
  2807.  
  2808.  FF> I know this has nothing to do with this echo, but the curiosity is 
  2809.  FF> killing
  2810.  FF> me. How do you do this:
  2811.  
  2812.  FF> ->In a message of <12 Jan 89 20:45:42>, Mark Hopkins (1:343/8.13) 
  2813.  FF> writes:
  2814.  
  2815.  FF> when you quote a message - by hand, or is it a feature of the editor?
  2816.  
  2817. This is an option in MSGED v. 1.96, which wasn't written in Pascal, BTW.
  2818.  
  2819.  
  2820. --- msged 1.96L MSC
  2821.  * Origin: /\/\ Turbo NorthWest \-\ Everett, Washington  (1:343/27.2)
  2822.  
  2823.  
  2824. From:    Reinhardt Mueller 
  2825. To:      Dave Hess                                Msg #109, 26-Jan-89 06:03am
  2826. Subject: Re: Help
  2827.  
  2828. -> I am trying to fiddle around with windows in Turbo Pascal.
  2829.  
  2830. -> I NEED HELP PLEASE! PLEASE PLEASE!  I declared the top window
  2831. -> something like this... WINDOW(1,1,81,1) and the bottom I think
  2832. -> Window(24,1,104,1)???  What am I doing wrong?
  2833.  
  2834. The values you're passing to the WINDOW procedure are out of range.
  2835.  
  2836. <<spoken calmly>>
  2837. Dave, for starters, have you ever thought about curling up with a
  2838. good book, like your Turbo Pascal manual(s)?  I'll point you
  2839. in the right direction for the answer to your question about the
  2840. WINDOW procedure. I'm assuming that you have the manual(s) for
  2841. your particular version of Turbo Pascal on hand.
  2842.  
  2843. Look on page 168 of the TP v3.0 reference manual.
  2844.  
  2845. Look on pages 302-308, 498-499 of the TP v4.0 reference manual.
  2846.  
  2847. If you have v5.0, you'll have two manuals.
  2848. Look on page 218 of the TP v5.0 user's guide.
  2849. Look on pages 135-142, 414-415 of the TP v5.0 reference guide.
  2850.  
  2851. Go ahead and read it/them -- cover to cover.  You have only your
  2852. ignorance to lose!  If you don't understand something, READ THE
  2853. MANUAL FIRST!  If you don't understand the manual, THEN post a
  2854. message.
  2855.  
  2856. Remember, if you check the manual first, you'll most likely get
  2857. the help you so desperately seek instantly, and you won't have to
  2858. wait up to a week for a reply!  Now doesn't that advice make you
  2859. feel happy?
  2860.  
  2861. --- Via OpXpress V1.02  Always a notch off....just like the Madman!
  2862.  * Origin: LSO II * Everett WA * 206/334-7039 * HST (1:344/100.0)
  2863.  
  2864. *** Part of a conversation.
  2865.  
  2866.  
  2867. From:    Colten D. Edwards 
  2868. To:      Scott Wilson                             Msg #110, 28-Jan-89 12:38pm
  2869. Subject: Opus user list
  2870.  
  2871. Yes version 4 is avaliable as OPINT102.ARC I believe. You'll also want
  2872. OP102-1.ARC to go with it. Might also want to request FILES as well... 
  2873.  
  2874. --- ConfMail V4.00
  2875.  * Origin: Treasure Isle Private Mail System (1:140/51)
  2876.  
  2877. *** This is a reply to #62.
  2878.  
  2879.  
  2880. From:    Colten D. Edwards 
  2881. To:      Gilbert Edwards                          Msg #111, 29-Jan-89 03:17am
  2882. Subject: Help With the (getdir or chgdir) command
  2883.  
  2884. Did you set the length of the string at all. Since it's an asciiz string to
  2885. start with there wouldn't be a length byte. 
  2886.  
  2887. --- ConfMail V4.00
  2888.  * Origin: Treasure Isle Private Mail System (1:140/51)
  2889.  
  2890. *** There is a reply. See #118.
  2891.  
  2892.  
  2893. From:    Parker Jordan 
  2894. To:      All                                      Msg #112, 29-Jan-89 07:45pm
  2895. Subject: READ_KBD
  2896.  
  2897. HELP....!!! I'M TRYING TO USE TECHNOJOCK TOOLSKIT READ_KBD TO RETURN CONTROL
  2898. CHARACTERS OF PFKEYS IN A REPEAT LOOP, THEN ON CASE OF KEY GO TO A SEPARTE
  2899. PROCEDURE TO OPEN A FILE AND READ IN IN...THIS WORKS ON THE FIRST READ, BUT
  2900. WHEN TRYING TO CALL PROCEDURE SECOND TIME IT IGNORES THE READ INSTRUCTION...
  2901. I.E.    REPEAT
  2902.                               READ_KBD(INCHR,INCTL);
  2903.                                CASE INCTL OF
  2904.                                 F1_KEY : BEGIN
  2905.                                           READ_PROC;
  2906.                                          END;
  2907.                                END; {CASE}
  2908.                            UNTIL INCHR = ESC
  2909.             PROCEDURE READ_PROC;
  2910.              VAR FILE_ID : STRING[15];
  2911.                  FILE    : FILE OF WHATEVER;
  2912.              BEGIN
  2913.               READ(FILE_ID);
  2914.   THIS READ IS THE PLACE IT SKIPS....
  2915.               ASSIGN(FILE,FILE_ID)   AND SO FORTH........
  2916. FOR ANY TYPES OTHER THAN INTEGER READS, IT WILL ONLY WORK ONE TIME. IT
  2917. SEEMS TO BE A PROBLEM WITH READ_KBD FOLLOWED BY ANY CALL TO A PROCEDURE THAT
  2918. DOES A STANDARD READ...   I WORKED AROUND IT BY USING THE TECHNO
  2919. READ_LINE BUT AM CONFUSED WHY THE STANDARD READ DID NOT WORK... IF
  2920. ANYONE WOULD LIKE TO SEE THE SOURCE OTHER THAN WHAT WAS DESCRIBED ABOVE I
  2921. WOULD BE HAPPY TO PUT IT OUT FOR YOU.  ANY IDEAS ????
  2922. THANKS,
  2923. PARKER JORDAN...
  2924.  
  2925. --- ConfMail V4.00
  2926.  * Origin: KIC-BBS, from the heart of Cincinnati, Oh. (HST) (1:108/89)
  2927.  
  2928. *** There is a reply. See #150.
  2929.  
  2930.  
  2931. From:    Parker Jordan 
  2932. To:      Ron Dexter                               Msg #113, 29-Jan-89 08:02pm
  2933. Subject: Re: Memory Reading/Writing
  2934.  
  2935. RON, I DONT KNOW ABOUT 3.0 BUT FOR 4.0 YOU CAN MAP YOUR VARIABLES TO
  2936. SCREEN MEMORY VIA ABSOLUTE $B800 FOR COLOR AND $B000 FOR MONO...
  2937. ALSO THERE IS AN ASSIGNCRT FUNTION THAT WILL MAP TEXT TO THE SCREEN.
  2938. THERE ARE SOME GREAT TOOLS IN TURBO TECHNOJOCK TOOLKIT FOR WINDOW
  2939. AND SCREEN I/O... THEY HAVE SOME ASSEMBLER ROUTINES TO DO THIS.
  2940. A GREAT BOOK FOR 4.0 IS BORLAND'S USING TURBO PASCAL 4.0...THE
  2941. ASSEMBLER ROUTINES IN THE TOOLKIT SHOULD WORK FOR 3.0 IF YOU LINK THEM 
  2942. IN WITH YOUR PROGRAM... IF YOU WOULD LIKE ANYMORE ABOUT 4.0 JUST YELL
  2943. PARKER JORDAN
  2944.  
  2945. --- ConfMail V4.00
  2946.  * Origin: KIC-BBS, from the heart of Cincinnati, Oh. (HST) (1:108/89)
  2947.  
  2948.  
  2949. From:    Parker Jordan 
  2950. To:      Jon Rupert                               Msg #114, 29-Jan-89 08:17pm
  2951. Subject: Re: ANSI UNIT
  2952.  
  2953. JON,
  2954.   DID YOU EVER FIND SUCH A UNIT ??? I USE PC EMULATION TO TALK WITH
  2955. DEC PDP AND VAX AND WOULD LIKE TO TAKE ADVANTAGE OF THE ANSI TERMINAL
  2956. CHARACTERS AND POSSIBLY GRAPHICS MODES TYPE OF FILES...
  2957. THANKS,
  2958. PARKER JORDAN
  2959.  
  2960. --- ConfMail V4.00
  2961.  * Origin: KIC-BBS, from the heart of Cincinnati, Oh. (HST) (1:108/89)
  2962.  
  2963. *** There is a reply. See #143.
  2964.  
  2965.  
  2966. From:    Andy Lester 
  2967. To:      Torben Paving                            Msg #115, 29-Jan-89 02:45pm
  2968. Subject: Turbo DataBase Toolbox
  2969.  
  2970.  TP> Just a word of warning. I did that myself, but experienced a hangup in 
  2971.  TP> one of the database modules. I used several hours debugging with 
  2972.  TP> Periscope before I found the error. It was a for loop, which was 
  2973.  TP> terminated by altering the termination value INSIDE the for loop. This 
  2974.  TP> worked fine in TP3, but not in TP4 and TP5 (ref. TP4 Manual pg. 261 and 
  2975.  TP> TP5 Manual pg. 79). So watch out.
  2976.  
  2977. You mean a Borland-written toolbox had that kind of code in it?  Yeesh, 
  2978. doesn't make me trust them very much.  That's amazingly bad practice on their 
  2979. part, and it makes me wonder if they do that elsewhere.
  2980.  
  2981. Andy
  2982.  
  2983.  
  2984. --- msged 1.96S ZTC
  2985.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  2986. (1:115/790.2)
  2987.  
  2988. *** There is a reply. See #219.
  2989.  
  2990.  
  2991. From:    Andy Lester 
  2992. To:      Holger Schurig                           Msg #116, 29-Jan-89 02:48pm
  2993. Subject: USES style
  2994.  
  2995.  CF> Poor mans equivalent of "FROM module IMPORT ..."
  2996.  
  2997.  HS> I have never understand the need this FROM module IMPORT <long list of
  2998.  HS> everything i want to use> in Modula. One reason might be too simplify
  2999.  HS> the compiler. But a good compiler should work for me, not i for him !
  3000.  
  3001. I think it's mostly to allow the programmer to explicitly say which code he 
  3002. wants imported from the units that he's using.  If, for example, you're using 
  3003. unit CRT, but you're only using KeyPressed, you don't want the rest of the 
  3004. code that's in CRT sucked in as well, do you?
  3005.  
  3006. The thing is that most of the new compilers don't have this problem, and that 
  3007. they can suck in only the code needed, so that feature of Modula-2 has fallen 
  3008. by the wayside.
  3009.  
  3010. Andy
  3011.  
  3012.  
  3013. --- msged 1.96S ZTC
  3014.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  3015. (1:115/790.2)
  3016.  
  3017. *** Part of a conversation.
  3018.  
  3019.  
  3020. From:    Andy Lester 
  3021. To:      Holger Schurig                           Msg #117, 29-Jan-89 06:05pm
  3022. Subject: Re: GOTOs
  3023.  
  3024.  HS> Why not try this:
  3025.  HS> 
  3026.  HS> {$B+} { boolean evaluation must be set to short-circuit for this ! }
  3027.  HS> REPEAT
  3028.  HS>   IF NOT (part1 AND part2 AND part3) THEN <other code>
  3029.  HS> UNTIL done;
  3030.  
  3031. Hmm, slick trick, Holger, but can you be assured that Turbo evaluates boolean 
  3032. expressions left to right?  I had a problem with that when converting Apple 
  3033. Pascal to Turbo.  I had the following in Apple Pascal:
  3034.  
  3035. function at(x,y:integer):char;
  3036. {stuff to place the cursor, and return a null}
  3037. begin
  3038. GotoXY(x,y);  {This isn't exactly how it is, but this is the Turbo equiv}
  3039. at:=#0;
  3040. end;
  3041.  
  3042.  
  3043. write(at(00,00),'Program name & stuff',
  3044.       at(00,02),'This is this and blah blah',
  3045.       at(00,05),'This is more stuff');
  3046.  
  3047. Stuff like that.  We use that structure all the time.  Apple goes from left to
  3048. right (and top to bottom), so it would call At(00,00), which would position 
  3049. the cursor, and then print the string, and then call At(00,02), and so on.  
  3050. This would all us to cram a screen into one easy to read write statement.
  3051.  
  3052. It doesn't work in Turbo Pascal.  Apparently, Turbo calls the At() functions 
  3053. first, and then passes everything to the write() procedure.  Therefore, all 
  3054. the cursor positions are executed at once, so only the last one "has any 
  3055. effect", if you will.
  3056.  
  3057. We had to rewrite all of those as:
  3058. write(at(00,00),'Program name & stuff');
  3059. write(at(00,02),'This is more stuff');
  3060. etc.
  3061.  
  3062. to insure that we had the correct cursor positioning.
  3063.  
  3064. So I digress.  Back to the original point.  If you have
  3065.   if not(part1 and part2 and part3) then...
  3066. can you be assured that part1 is called, and then part2 and then part3?  Most 
  3067. compilers like to generate code and variables in a LIFO (last in, first out) 
  3068. stack.  Maybe part3 will be called first...
  3069.  
  3070. Andy
  3071.  
  3072.  
  3073. --- msged 1.96S ZTC
  3074.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  3075. (1:115/790.2)
  3076.  
  3077. *** Part of a conversation.
  3078.  
  3079.  
  3080. From:    Andy Lester 
  3081. To:      Gilbert Edwards                          Msg #118, 29-Jan-89 08:03pm
  3082. Subject: Help With the (getdir or chgdir) command
  3083.  
  3084.  GE>  I have created a program that read the system#.bbs on Opus board.
  3085.  GE> What I need is a way to change directories when I read the system     
  3086.  GE> files. I have a string call path-to_files which I have taken all the 
  3087.  GE> null characters off.
  3088.  
  3089. So what's wrong?  What's the problem?
  3090.  
  3091. Andy
  3092.  
  3093.  
  3094. --- msged 1.96S ZTC
  3095.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  3096. (1:115/790.2)
  3097.  
  3098. *** This is a reply to #111.
  3099.  
  3100.  
  3101. From:    Andy Lester 
  3102. To:      Fabiano Fabris                           Msg #119, 29-Jan-89 06:14pm
  3103. Subject: Re: Files
  3104.  
  3105.  FF> How do you do this:
  3106.  FF> In a message of <12 Jan 89 20:45:42>, Mark Hopkins (1:343/8.13) writes:
  3107.  FF> 
  3108.  FF> when you quote a message - by hand, or is it a feature of the editor?
  3109.  
  3110. I run a point system.  I'm point #2 off of 115/790.  I poll my boss node and 
  3111. get all my messages in ARChived format and then read them off-line using this 
  3112. snazzy editor called MsgEd that allows message quoting (like the FF>s at the 
  3113. left of your words).
  3114.  
  3115. If you read a lot of echos and spend a lot of time online and have a hard 
  3116. drive, setting up as a point can save you lots of time.
  3117.  
  3118. Andy
  3119.  
  3120.  
  3121. --- msged 1.96S ZTC
  3122.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  3123. (1:115/790.2)
  3124.  
  3125. *** There is a reply. See #199.
  3126.  
  3127.  
  3128. From:    Andy Lester 
  3129. To:      Heikki Levanto                           Msg #120, 29-Jan-89 06:23pm
  3130. Subject: Stack
  3131.  
  3132.  HL> How does Turbo's stack structure work ?
  3133.  
  3134. What you're asking really doesn't have anything to do with the internal stack 
  3135. structure.  It has to do with the variable's scope (what procs can see which  
  3136. it) and lifetime (when it is allocated on the stack, and when it  disappears).
  3137. It's the same for all Pascals.
  3138.  
  3139.  HL> That may be too complicated, let me draw the whole thing out:
  3140.  
  3141. It was.  I'm glad you did. :-)
  3142.  
  3143.  HL> Procedure Outer ;
  3144.  HL>   Var OuterVar : integer ;
  3145. This is "visible" to every procedure in Outer, regardless of how many  times
  3146. ProcA or ProcB is called.  It's unaffected by any of the  shenanigans with A &
  3147. B.       
  3148.  
  3149.  HL>   Procedure ProcA ; { of Outer }
  3150.  HL>     begin
  3151.  HL>       writeln ( OuterVar );
  3152.  HL>       end ; { ProcA }
  3153.  HL>  
  3154.  HL>   Procedure ProcB ; { of Outer }
  3155.  HL>     var Bvar ;
  3156. This is visible to ProcB and Inner, but not ProcA.  If ProcB is called 
  3157. multiple times, then a "new" Bvar is allocated each time.
  3158.  HL>     Procedure Inner ; { of B of Outer }
  3159.  HL>       begin
  3160.  HL>         ProcA ;
  3161.  HL>         end ; { Inner }
  3162.  HL>     begin
  3163.  HL>       end ; { ProcB }
  3164.  HL>  
  3165.  HL>   begin { Outer itself }
  3166.  HL>     OuterVar := 1 ;
  3167.  HL>     ProcA ;
  3168.  HL>     Outervar := 2 ;
  3169.  HL>     ProcA ;
  3170.  HL>     end ; { Outer }
  3171.  
  3172. I hope this helps.  Locally declared variables can be a real headache, 
  3173. especially if you ARE talking about recursive procs.
  3174.  
  3175. --- msged 1.96S ZTC
  3176.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true; 
  3177. (1:115/790.2)
  3178.  
  3179.  
  3180. From:    Andy Lester 
  3181. To:      Dave Goggin                              Msg #121, 29-Jan-89 06:35pm
  3182. Subject: FUNCTION RETURN STRING?
  3183.  
  3184.  DG> Unless Turbo Pascal is different than regular pascal (in this case) I 
  3185.  
  3186. It is.
  3187.  
  3188.  DG> don't see how you can return a string, from a function.  I though you 
  3189.  DG> couldn't return structured variables from a function.
  3190.  
  3191. Turbo allows returning strings but not records.  The following runs just fine:
  3192.  
  3193. program foo;
  3194.  
  3195. function upstring(strg:string):string;
  3196. var
  3197.   i : integer;
  3198. begin
  3199. for i:=1 to length(strg) do
  3200.   strg[i]:=upcase(strg[i]);
  3201. upstring:=strg;
  3202. end;
  3203.  
  3204. begin
  3205. writeln(upstring('Now is the time...'));
  3206. end. 
  3207. However, the test program that I wrote that tried to return a record didn't.  
  3208.  
  3209. Andy
  3210.  
  3211.  
  3212. --- msged 1.96S ZTC
  3213.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  3214. (1:115/790.2)
  3215.  
  3216. *** This is a reply to #55.
  3217.  
  3218.  
  3219. From:    Andy Lester 
  3220. To:      Reinhardt Mueller                        Msg #122, 29-Jan-89 06:38pm
  3221. Subject: Re: Apple Pascal 1.3 CLOSE problems
  3222.  
  3223.  RM>  ->reset(fl,filename);
  3224.  RM>  ->for i:=1 to 10 do
  3225.  RM>  ->  begin
  3226.  RM>  ->  pack_record(fl^);
  3227.  RM>  ->  put(fl);
  3228.  RM>  ->  end;
  3229.  RM>  ->close(fl);
  3230.  
  3231.  RM> I'm assuming that Apple Pascal is still running under the p-System.
  3232.  
  3233. It is.
  3234.  
  3235.  RM> Andy, I don't see any {$I-} directives in that code fragment and
  3236.  RM> you're not getting dumped into the p-system command mode, so that
  3237.  RM> tells me that your I/O checking is turned off. Your program is
  3238.  RM> not reporting the errors to you. You have to test IORESULT to see
  3239.  RM> if the last IO operation was successful.
  3240.  
  3241. Yes, {$I-} is in force.  We check IORESULT ourselves rather than having Apple 
  3242. Pascal crash.  Admittedly, I neglected to show the procedure call to our IORES
  3243. routine which checks IORESULT and sets a string and flag.  The problem is that
  3244. Pascal isn't returning the error, not that we're not checking for it.
  3245.  
  3246.  RM> Test the variable (or
  3247.  RM> print it out), not IORESULT! Any access of the IORESULT
  3248.  RM> immediately sets it to zero. Use it only once per IO operation.
  3249.  
  3250. Yeah, that IS a fun bug quirk of it, isn't it?
  3251.  
  3252. Well, after a little more research after the last week or two, I've concluded 
  3253. the following:
  3254.  
  3255. Calling close does two things.  First, it writes the file's 1-block buffer to 
  3256. disk.  Then it updates the directory.  However, if I have the drive door open 
  3257. for the buffer write, the drive chatters, and probably fails internally, and 
  3258. then it goes on it's merry way to the directory update.  Now, if I close the 
  3259. drive door at this point, it can update the directory succesfully and it 
  3260. returns an IORESULT of 0.  Neat trick, eh?
  3261.  
  3262. Admittedly, I don't have a debugger to step through it (I don't think one 
  3263. exists for Apple Pascal, and if it does, somebody please tell me about it), 
  3264. but it seems the only possible way.
  3265.  
  3266. The other thing that we discovered is that it IS necessary to check IORESULT 
  3267. after a SEEK operation.  We used to think that a SEEK would only set Pascal's 
  3268. internal memory file pointer.  Wrongo.  If the SEEK points to a record that 
  3269. lies in a different block on the disk than what's in the buffer, it writes out
  3270. the current block.  If that fails, it can return an IORESULT <>0.  
  3271.  
  3272. This last week has been raaaather enlightening... :-)
  3273.  
  3274. Andy 
  3275.  
  3276. --- msged 1.96S ZTC
  3277.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  3278. (1:115/790.2)
  3279.  
  3280. *** There is a reply. See #244.
  3281.  
  3282.  
  3283. From:    Andy Lester 
  3284. To:      Charles Falconer                         Msg #123, 29-Jan-89 08:07pm
  3285. Subject: Various Pascal Implementations
  3286.  
  3287.  CF> Soapbox on
  3288.  
  3289. What?  Soapboxing here?  Oh no!  :-)
  3290.  
  3291.  CF> The program header line is not a frill, but specifies what files are 
  3292.  CF> external to the program.  Files declared that are NOT listed in the 
  3293.  CF> header should be purely internal, thus temporary, and go away at 
  3294.  CF> program exit (unless the temporaryness is specifically overridded, e.g. 
  3295.  CF> with an assign statement, or equivalent).
  3296.  
  3297. Yes, they are a frill.  They're ignored by Turbo.  I'm just not sure what you 
  3298. mean when you say "internal" and "external" when referring to files.  What if 
  3299. you have a recursive procedure that opens f1?  For instance:
  3300.  
  3301. procedure list_file(f1 : text);
  3302. begin
  3303. { read read read }
  3304. if IncludeAFile then
  3305.   begin
  3306.   assign...
  3307.   list_file(f1);
  3308.   end;
  3309. end;
  3310.  
  3311. just as an example, if you're listing $I files.  I wrote a program called 
  3312. PList that pretty-printed Turbo output (added line numbers and ran a variable 
  3313. cross-ref) and it was necessary to handle $I files like that.
  3314.  
  3315. Andy
  3316.  
  3317.  
  3318. --- msged 1.96S ZTC
  3319.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  3320. (1:115/790.2)
  3321.  
  3322. *** There is a reply. See #225.
  3323.  
  3324.  
  3325. From:    Andy Lester 
  3326. To:      Scott Hudnall                            Msg #124, 29-Jan-89 08:12pm
  3327. Subject: Decompiling
  3328.  
  3329.  SH> How do you get a program that has been compiled to disk into an .EXE 
  3330.  SH> program....decompiled back into a .PAS type format???
  3331.  
  3332. You can't.  It doesn't work that way.
  3333.  
  3334. Andy
  3335.  
  3336.  
  3337. --- msged 1.96S ZTC
  3338.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  3339. (1:115/790.2)
  3340.  
  3341. *** There is a reply. See #220.
  3342.  
  3343.  
  3344. From:    Andy Lester 
  3345. To:      Morten Nielsen                           Msg #125, 29-Jan-89 08:12pm
  3346. Subject: Re: Pascal Programming BBS
  3347.  
  3348.  MN>  > users (mostly cute  young office girls :-).  It's a buzz
  3349.  
  3350.  MN>  > Nope.  I set my own.
  3351.  
  3352.  MN>  > Deadlines?  What are those?  I think I've had maybe 3 deadlines
  3353.  MN>  > in 3 years.
  3354.  MN>  
  3355.  MN> Can I get a job??  8-)
  3356.  
  3357. Well, I don't mind, but 1) You'd be low man on the totem pole and would get 
  3358. to do fun things like handling tech support phone calls, and 2) I think it'd 
  3359. be a hell of a commute for you.
  3360.  
  3361. Andy
  3362.  
  3363.  
  3364. --- msged 1.96S ZTC
  3365.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  3366. (1:115/790.2)
  3367.  
  3368.  
  3369. From:    Andy Lester 
  3370. To:      All                                      Msg #126, 29-Jan-89 08:15pm
  3371. Subject: :-
  3372.  
  3373.  JW> Well its a smiling face, 
  3374.  
  3375.  
  3376. blah blah blah... please, can we can the explanations of smileys?
  3377.  
  3378. Andy
  3379.  
  3380.  
  3381. --- msged 1.96S ZTC
  3382.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  3383. (1:115/790.2)
  3384.  
  3385. *** This is a reply to #30.
  3386.  
  3387.  
  3388. From:    Andy Lester 
  3389. To:      Paul Lindquist                           Msg #127, 29-Jan-89 08:18pm
  3390. Subject: WILDCARDS
  3391.  
  3392.  PL> IE I want to process all .TXT files, I would type filter *.txt.  How 
  3393.  PL> could i get this to list out file1.txt, file2.txt, file3.txt, etc.
  3394.  
  3395. Roughly, what you want to do follows.  I haven't looked up the syntax in the 
  3396. manual, but the algorithm should be:
  3397.  
  3398. var
  3399.   filespec : string;
  3400.   srec     : SearchRec {from DOS}
  3401.  
  3402. procedure ListFile(file : string);
  3403. { a procedure to list the file, which is something else... :-)  }
  3404. ...
  3405.  
  3406. begin
  3407. filespec:='*.txt';
  3408. findfirst(filespec,(AnyFile-Directory-Hidden),srec);
  3409. while DosError=0 do  {if it found a file matching }
  3410.   begin
  3411.   ListFile(srec.filename);
  3412.   FindNext(srec);
  3413.   end;
  3414. end.
  3415.  
  3416. This way, you search through the directory for files matching the mask and 
  3417. then list them out.  Check the manual on FindFirst and FindNext.  They're 
  3418. very clear.  Even >I< figured it out!
  3419.  
  3420. Andy
  3421.  
  3422.  
  3423. --- msged 1.96S ZTC
  3424.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  3425. (1:115/790.2)
  3426.  
  3427. *** This is a reply to #15.
  3428.  
  3429.  
  3430. From:    Andy Lester 
  3431. To:      Reinhardt Mueller                        Msg #128, 29-Jan-89 08:27pm
  3432. Subject: Re: A Little Problem
  3433.  
  3434.  RM> First of all, your screen coordinates in the turbo start at 1. In
  3435.  RM> p-System they start at 0. You have one more screen line to play
  3436.  RM> with on the IBM.
  3437.  
  3438. We know, and it's an annoyance, but not a real problem.
  3439.  
  3440.  RM> You have the names of the screen-handling
  3441.  RM> procedures to deal with too. If your program uses the Apple's
  3442.  RM> arrow keys you'll have to account for that too. Your users won't
  3443.  RM> appreciate having to use Ctrl key combinations! <<grin>>
  3444.  
  3445. All of our input is done thru a handful of standard procedures:  GetChar,  
  3446. GetNum, WaitForCR, YesNo.  That's it.  Since we have those converted, 
  3447. keyboard  I/O isn't a problem.
  3448.  
  3449.  RM> Are you using the SCAN function in the Apple version? Turbo
  3450.  RM> Pascal doesn't (and has never had it, but could use) the SCAN
  3451.  RM> function. Be prepared to write a/some little assembly language
  3452.  RM> routine(s) to emulate it.  That's what I'm thinking of doing now.
  3453.  
  3454. I remember that we had a problem with it, but that we got over it.  Most of 
  3455. the conversion stuff was done about 6 months ago.  They took the very Q&D 
  3456. approach to it, namely changing everything in the programs we ported over, 
  3457. but not writing a compatibility unit.  If we really do start doing parallel 
  3458. development, we'll need it.
  3459.  
  3460.  RM> Are you directly comparing two records of the same type with =?
  3461.  RM> That's illegal in Turbo. You'll have to compare each field
  3462.  RM> separately in Turbo or use a trick mentioned somewhere in the
  3463.  RM> Turbo manual. If those records you want to compare contain
  3464.  RM> variant fields, you won't be able to reliably use the trick.
  3465.  
  3466. Hell, I'm having that problem in SCUD!  :-)
  3467.  
  3468.  RM> TYPE
  3469.  RM>   S = PACKED RECORD
  3470.  RM>         first_field : 0..1;
  3471.  RM>         second_field : 0..7;
  3472.  RM>         third_field  : 0..3;
  3473.  RM>         fourth_field : 0..255;
  3474.  RM>       END;
  3475.  RM> 
  3476.  RM> If you have stuff like the above, it will take up 4 bytes in
  3477.  RM> Turbo but only 2 bytes in UCSD Pascal. Remember that if/when
  3478.  RM> using free unions to test bits from wierd stuff coming in from
  3479.  RM> and going to the hardware.
  3480.  
  3481. Yeah, we know about that, too.  Fun stuff, eh?
  3482.  
  3483. I've mentioned this a few months ago, but these are equivalent:
  3484. UCSD:
  3485. var
  3486.   flags : packed array[0..7] of boolean;
  3487.  
  3488. Turbo
  3489. var
  3490.   flags : set of [0..7];
  3491.  
  3492. In memory, I don't care what the internal representation is, but on disk it 
  3493. can cause problems.
  3494.  
  3495.  
  3496. Always nice to see someone who understands where I'm coming from, though.  
  3497. I'd really like to write a UCSD-Turbo compatibility unit, but management 
  3498. isn't really keen on the PCs yet, so it's on the back burner....
  3499.  
  3500. Andy
  3501.  
  3502.  
  3503. --- msged 1.96S ZTC
  3504.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  3505. (1:115/790.2)
  3506.  
  3507. *** Part of a conversation.
  3508.  
  3509.  
  3510. From:    Andy Lester 
  3511. To:      Kevin Lowey                              Msg #129, 29-Jan-89 08:32pm
  3512. Subject: Re: RE:tug O'wards Iv
  3513.  
  3514.  KL> However, Borland has stopped doing this, so now no one knows about TUG. 
  3515.  KL>  For all you TUG members out there, please spread the word.  For all 
  3516.  KL> the people that are NOT TUG members, I'll try and find their address 
  3517.  KL> and subscription form at home and will post another message with it. 
  3518.  
  3519. I was a TUGger when they first started out.  I have about 20 issues of TUG 
  3520. lines somewhere, starting at issue #2.  I loved it dearly; indeed, I had a 
  3521. letter published back then.
  3522.  
  3523. However, now it, like Computer Language, has become mostly fluff and 
  3524. beginners articles and lots of reviews of PC development tools.
  3525.  
  3526. That's why I miss Turbo Technix so much.  Yes, it had the beginners stuff, 
  3527. but the hardcore stuff was fantastic.
  3528.  
  3529. Andy
  3530.  
  3531.  
  3532. --- msged 1.96S ZTC
  3533.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  3534. (1:115/790.2)
  3535.  
  3536. *** This is a reply to #24.
  3537.  
  3538.  
  3539. From:    Paul Lindquist 
  3540. To:      Joseph Dejesus                           Msg #130, 29-Jan-89 08:28pm
  3541. Subject: Re: BBS
  3542.  
  3543. TP Board version 5.0 is the latest BBS written in Turbo Pascal.  Source Code
  3544. is available for the board.
  3545.  
  3546. Paul Lindquist
  3547. --- TBBS v2.0
  3548.  * Origin: TBBS in '89, We aren't QUICKly Lost in Time 918-744-0249 (170/210)
  3549.  
  3550. *** Part of a conversation.
  3551.  
  3552.  
  3553. From:    Matt Franckiewicz 
  3554. To:      All                                      Msg #131, 26-Jan-89 02:54pm
  3555. Subject: Xasp & Yasp
  3556.  
  3557. When I call Xasp and Yasp, I get 8333 and 10000 {respectively. I don't
  3558. understand why I get these numbers rather than 6250 and 10000, i.e. the same
  3559. ratio as 200  is to 320  (in cga mode).
  3560.  
  3561.  
  3562. ---
  3563.  * Origin: THE SMORGAS-BOARD  Monroeville, PA  1-412-733-3010 (Opus 1:129/32)
  3564.  
  3565.  
  3566. From:    Matt Franckiewicz 
  3567. To:      All                                      Msg #132, 26-Jan-89 02:57pm
  3568. Subject: Getpalettesize
  3569.  
  3570. If I write {the following code:
  3571.  
  3572. Driver := 1;   {cga} Mo     := 2;   {cga 320 x 200}
  3573. Initgraph (driver, mo, '');
  3574. Write (getpalettesize);
  3575.  
  3576. I get output of 1.  Why don{'t I get 3 since there are 3, or 4, depending on
  3577. whether th{e background counts?
  3578.  
  3579.  
  3580. ---
  3581.  * Origin: THE SMORGAS-BOARD  Monroeville, PA  1-412-733-3010 (Opus 1:129/32)
  3582.  
  3583.  
  3584. From:    Matt Franckiewicz 
  3585. To:      Roland Brown                             Msg #133, 28-Jan-89 12:34pm
  3586. Subject: Re: Keep command, Cntrl-C
  3587.  
  3588.  >  > When a TP program begins, it grabs a lot of interrupts.
  3589.  >  >  The old vectors are store{d in varaibles with names
  3590.  > like
  3591.  {  > SaveInt24 {hex}.  Could you use SetIntVec{tor with whatever
  3592.  >  > number the ctrl c inte{rrupt is, to reset the vector
  3593.  >
  3594.  > If memory serves those variables are global and you should
  3595.  > be able to reset the interrupt to the original setting
  3596.  > by using those variables. I think there is even an example
  3597.  > of how to do that in the manual(s) but I don't remember
  3598.  > where.
  3599.  
  3600. If you are sa{ying that by doing something like
  3601. SaveInt24 := @YourNewInterrupt;
  3602. you can change what the interrupt does, I think you are mistaken.  As I
  3603. understand it, all that SaveInt24 (and similar variables) does, is to save the
  3604. original DOS address for the interrupt, since Turbo uses its own interrupt
  3605. procedure.  Then on exiting, the Turbo program resets the interrpts to the
  3606. original DOS ones (in SaveInt24, etc) so that Lotus, Wordstar or whatever get
  3607. the interrupts they expect.  So changing SaveInt24 would not affect how the
  3608. interrupt worked while your Turbo program was running, but would change how
  3609. the ingterrupt worked after your program finished.
  3610.  {
  3611. Incidentally, I've been saying DOS, but I should have said {BIOS interrupts.
  3612.  
  3613.  
  3614. ---
  3615.  * Origin: THE SMORGAS-BOARD  Monroeville, PA  1-412-733-3010 (Opus 1:129/32)
  3616.  
  3617. *** There is a reply. See #149.
  3618.  
  3619.  
  3620. From:    Matt Franckiewicz 
  3621. To:      Tom Bocchino                             Msg #134, 28-Jan-89 12:12pm
  3622. Subject: R
  3623.  
  3624. Tom, my program FileKing moves, deletes, copies, renames, changes dates or
  3625. times of files, and changes attributes as well, from a Lotus type menu line,
  3626. operating on a highlighted file in an alphabetized list. It is supposed to be
  3627. published in the Jan/Feb issue of Turbo Tech Report 
  3628. (which should not be confused with the defunct Turbo Technix.)
  3629.  
  3630.  
  3631. ---
  3632.  * Origin: THE SMORGAS-BOARD  Monroeville, PA  1-412-733-3010 (Opus 1:129/32)
  3633.  
  3634. *** There is a reply. See #174.
  3635.  
  3636.  
  3637. From:    Matt Franckiewicz 
  3638. To:      Michelle Wyner                           Msg #135, 29-Jan-89 12:14pm
  3639. Subject: Re: Tp 5.0
  3640.  
  3641.  > I just got TP 5.0.  REAL great program, but the users manual
  3642.  > doesn't help much in learning Pascal.  I've read it from
  3643.  > front to back, and I know the basics, but I need to know
  3644.  > more.  Can anyone suggest a program (not the TP tutor for
  3645.  > $69.95) or a book (under $20.00 preferably) that'll help
  3646.  > me?  Thanks.
  3647.  
  3648. I don't need my Turbo Tutor anymore, and I'm willing to part with it{ for ten
  3649. bucks.  I have a number of Pascal books, and in my opinion, Turbo Tutor is the
  3650. way to learn the most the fastest.  My version is a previous version, not 5.0
  3651. if 5.0 of Tutor even exists, {but for learning, I don't think it makes a great
  3652. deal of difference, since you gotta get th{e real nuances from the manual, and
  3653. from experience anyhow.
  3654.  
  3655. If interested, leave me{ a note here, and I'll give you my address.
  3656.  
  3657.  
  3658. ---
  3659.  * Origin: THE SMORGAS-BOARD  Monroeville, PA  1-412-733-3010 (Opus 1:129/32)
  3660.  
  3661. *** Part of a conversation.
  3662.  
  3663.  
  3664. From:    Hector Santos 
  3665. To:      Ross Wentworth                           Msg #136, 29-Jan-89 09:46am
  3666. Subject: Re: Pascal => C
  3667.  
  3668.  >>    The Turbo Pascal 3.0 -> Quick C transposer was in fact very bad. It
  3669.  
  3670.  RW> Yes, I played around with it for a few hours and ended up 
  3671.  RW> deleting the translator and removing QuickC from my hard disk. 
  3672.  RW> I had hoped that by translating a few of my programs I could 
  3673.  RW> learn about C, unfortunately, the resultant code was so bloated 
  3674.  RW> and difficult to read that there was no way I could learn 
  3675.  RW> anything but bad programming habits from it.
  3676.  
  3677. Using Quick C to learn is very fustrating. I suggest Turbo C instead.
  3678.  
  3679. <hec>
  3680.  
  3681. --- Via Silver Xpress V2.10G  Is it Ready?
  3682.  * Origin: Pitt Xpress : Home of Opus Xpress (412) 864-2294 (1:129/82)
  3683.  
  3684. *** There is a reply. See #193.
  3685.  
  3686.  
  3687. From:    Tim Van Over Of 152/18 
  3688. To:      Moderator                                Msg #137, 30-Jan-89 12:30am
  3689. Subject: Descriptor
  3690.  
  3691.  
  3692. Moderator,
  3693.  
  3694.    An example... thanks for the replys so far...
  3695.  
  3696.  
  3697. --- Tv "God Bless..."   
  3698.  * Origin: PASCAL   - National PASCAL   Conference.  (1:152/18) (8:7000/16)
  3699.  
  3700. *** This is a reply to #32.
  3701.  
  3702.  
  3703. From:    Jon Guthrie 
  3704. To:      Joaquim Homrighausen                     Msg #138, 31-Jan-89 07:52pm
  3705. Subject: Re: TAP and PASCAL
  3706.  
  3707.  JH>  I and Joakim Hernberg started the TransAtlanticProject (TAP) in 
  3708.  JH> the winter of 1987 and would like to continue. But without your 
  3709.  JH> help it won't work. We need contributions regularly. Nothing 
  3710.  JH> big, $5-$10 per month or so will do.
  3711.  
  3712. You DO mean $5-$10 per month PER USER don't you?
  3713.  
  3714. Some of us are on a budget, I will contribute if mine permits.
  3715.  
  3716. --- Via OpXpress V1.06ß "Silver"  SCIGUY -  The Scourge of Delphi!
  3717.  * Origin: FOG-LINE;FOG#51;USR HST;515-964-7937 (1:14/627)
  3718.  
  3719. *** This is a reply to #81.
  3720.  
  3721.  
  3722. From:    Jon Guthrie 
  3723. To:      Charles Falconer                         Msg #139, 31-Jan-89 07:26pm
  3724. Subject: Re: USES style
  3725.  
  3726.  CF> For similar reasons I hate systems that clear the screen without 
  3727.  CF> being  told.  Rather than complex linkages, simply leave the 
  3728.  CF> previous report  such as a directory, on the furshlugginer screen. 
  3729.  CF>  For example, Telix  allows me to call a directory, but then 
  3730.  CF> clears.  Now I go through the transmit sequence, and mis-remember 
  3731.  CF> the exact name.  Around we go again. 
  3732.  
  3733. I refer to this as a program that 'does something for you.'  Meaning
  3734. that the program does something without your knowledge or permission
  3735. when you may want to do something different.  (I often say that I don't
  3736. like Unix because it 'does things for you.'  After all, it KNOWS you
  3737. REALLY want it to do them, even if you don't.)
  3738.  
  3739. I prefer the Modula-2 import/export function because everything is out
  3740. in the open, and you can't accidentally include something that you
  3741. didn't want to and don't have any knowledge of.
  3742.  
  3743. --- Via OpXpress V1.06ß "Silver"  SCIGUY -  The Scourge of Delphi!
  3744.  * Origin: FOG-LINE;FOG#51;USR HST;515-964-7937 (1:14/627)
  3745.  
  3746. *** Part of a conversation.
  3747.  
  3748.  
  3749. From:    Jon Guthrie 
  3750. To:      Jeff Posey                               Msg #140, 31-Jan-89 07:22pm
  3751. Subject: Re: Turbo 4.0
  3752.  
  3753.  JP> Help.. In a program I put in 
  3754.  JP>  
  3755.  JP> Uses Blah, blah, graph;
  3756.  JP>  
  3757.  JP> begin
  3758.  JP>   initgraph;
  3759.  JP>   circle(blah);
  3760.  JP> end.
  3761.  JP>  
  3762.  JP> and had no errors but when i ran it it said
  3763.  JP> "You need to use initgraph first" or something? whats the deal?
  3764.  
  3765. I ran into this problem when I tried to use graphics on a program that
  3766. used up (just about) all of memory.  Apparently, initgraph creates some
  3767. dynamic variables, and if the memory allocations fail it doesn't tell
  3768. anybody.  If your program uses up a bunch of heap space, you may have
  3769. this problem.
  3770.  
  3771. --- Via OpXpress V1.06ß "Silver"  SCIGUY -  The Scourge of Delphi!
  3772.  * Origin: FOG-LINE;FOG#51;USR HST;515-964-7937 (1:14/627)
  3773.  
  3774. *** This is a reply to #33.
  3775.  
  3776.  
  3777. From:    Jon Guthrie 
  3778. To:      Dave Goggin                              Msg #141, 31-Jan-89 07:14pm
  3779. Subject: Re: PASCAL RECURSION
  3780.  
  3781.  DG> test 3: find the first 18 numbers in the fibonacci sequence.  time 
  3782.  DG> is in  seconds.
  3783.  DG>     
  3784.  DG> recursive:   14.89 sec
  3785.  DG> iterative:    0.13 sec
  3786.  
  3787. The reason most often given to not use recursion is the fuction call
  3788. overhead (which is minimal on any decent processor, and I DO include the
  3789. 8088 in that.)  The most common reason that recursive routines are
  3790. slower is the algorithm.
  3791.  
  3792. This fibonacci routine is a good example.  Say you want to calculate
  3793. fib(18).  Well, fib(18) := fib(17) + fib(16); and
  3794. fib(17) := fib(16) + fib(15);  You will notice that need to know fib(16)
  3795. twice (once for 18, once for 17) but you only need to calculate it once.
  3796. The iterative routine only calculates it once, but the recursive routine
  3797. calculates it every time it needs it.  This effect magnifies as you get
  3798. to smaller and smaller values of the argument.  fib(1) and fib(0) are
  3799. calculated whole bunches of times.  (It can number in the tens of
  3800. thousands of times, depending on the original number.  The number of
  3801. executions rises VERY fast with the original argument to fib().)
  3802.  
  3803. --- Via OpXpress V1.06ß "Silver"  SCIGUY -  The Scourge of Delphi!
  3804.  * Origin: FOG-LINE;FOG#51;USR HST;515-964-7937 (1:14/627)
  3805.  
  3806. *** Part of a conversation.
  3807.  
  3808.  
  3809. From:    Eugene White 
  3810. To:      Tony Shelton                             Msg #142, 31-Jan-88 05:39pm
  3811. Subject: .GIF
  3812.  
  3813. I got all new documentation from Borland when I converted to TP 5.0, what did
  3814. you get....
  3815. --- QuickBBS v2.03
  3816.  * Origin: * DCC BBS - One wing of Online Computer Resources * (1:161/502)
  3817.  
  3818. *** Part of a conversation.
  3819.  
  3820.  
  3821. From:    Eugene White 
  3822. To:      Parker Jordan                            Msg #143, 31-Jan-88 05:59pm
  3823. Subject: Re: ANSI UNIT
  3824.  
  3825. Please - use your lower case letters also - it makes it so much easier for us
  3826. older folks with bifocals etc....
  3827. --- QuickBBS v2.03
  3828.  * Origin: * DCC BBS - One wing of Online Computer Resources * (1:161/502)
  3829.  
  3830. *** This is a reply to #114.
  3831.  
  3832.  
  3833. From:    Neil Heller 
  3834. To:      All                                      Msg #144, 31-Jan-89 10:30pm
  3835. Subject: WHERE'S THE PATH?
  3836.  
  3837.      I  have  a  question  -  can  anyone  help  me?  I am writting an
  3838. application in which I need to take the path, as it stood prior to  my
  3839. entrance into the application, place  it in a program variable,  set a
  3840. new  path  and  then  restore  the  original  path  upon exit from the
  3841. application.  As far as I can tell, Turbo Pascal "eats" the path  upon
  3842. booting an application using the DOS UNIT.  This is purely speculation
  3843. on my part.   In any case, I  have experienced that if  an application
  3844. uses the  EXEC command,  the path  (as it  was prior  to starting  the
  3845. application) does not exist while the application holds sway over  the
  3846. system.  Can anyone tell me where  the path went?  It seems as  though
  3847. Turbo Pascal probably  places the path  in a variable  of its own  and
  3848. does its  own restoration  upon exiting.   Can  anyone verify  this or
  3849. refute it with knowledge of what's happening (for sure)?  Keep in mind
  3850. that what I'm after is gaining a little more control over the path  in
  3851. terms of controlling it while IN a Turbo Pascal application.
  3852. --- TBBS v2.0
  3853.  * Origin: Diablo Valley PCUG-BBS, Walnut Creek, CA <415-943-6238> (161/55)
  3854.  
  3855. *** There is a reply. See #229.
  3856.  
  3857.  
  3858. From:    Bob Hodge 
  3859. To:      Hector Santos                            Msg #145, 30-Jan-89 07:49am
  3860. Subject: CASE / GOTO
  3861.  
  3862. HS>Why? because turbo checks each VALUE condition. In Fortran or BASIC,
  3863. HS>the ON GOTO statement is a better method.
  3864.   Hector, I think you may be laboring under a false assumption. (I'm
  3865. surprised no one else has left a message pointing this out.)  The CASE
  3866. statement will ONLY execute the statement corresponding to the first
  3867. "correct" case.  It will then proceed to the statement following the
  3868. CASE-terminating END.  Therefore, your extra GOTO's at the end of each
  3869. case are unnecessary.  I have often wished that there were a special
  3870. C-like case statement in Pascal that would allow execution to "fall
  3871. through" multiple cases.  This would simplify a good deal of the
  3872. rigamarole I've gone through in some of my more object-oriented Pascal
  3873. programs.  (And keep me from using C in some instances!)
  3874.   EXAMPLE CODE:
  3875.    charin := ReadKey;
  3876.    case charin of
  3877.       'A'..'Z','a'..'z' : writeln( 'Letter');
  3878.       '0'..'9'          : writeln( 'Digit');
  3879.       'A'..'Z','0'..'9' : writeln( 'Capital letter or digit');
  3880.       else                writeln( 'Not defined.');
  3881.    end;
  3882. If you run this, you'll see that the third case is never executed!
  3883.   Bob Hodge
  3884.  
  3885. --- TMail v1.8
  3886.  * Origin: Revelstone TBBS - Home of FidoNews (216/642-1034) (1:157/504)
  3887.  
  3888.  
  3889. From:    Bob Hodge 
  3890. To:      George Butts                             Msg #146, 30-Jan-89 07:50am
  3891. Subject: TECHNOJOCKS V5
  3892.  
  3893.    Is Technojocks 5.0 going to be shareware?  From your description,
  3894. it doesn't sound like it.  If not, could you post an address and/or
  3895. phone number for ordering?  Thanks.
  3896.    Bob Hodge
  3897.  
  3898. --- TMail v1.8
  3899.  * Origin: Revelstone TBBS - Home of FidoNews (216/642-1034) (1:157/504)
  3900.  
  3901.  
  3902. From:    Chris Samp 
  3903. To:      Henry Bailey                             Msg #147, 29-Jan-89 02:42pm
  3904. Subject: Re: beginn8r
  3905.  
  3906. Yes, you can get Turbo Pascal 5.0 for $44.50. I called Borland and found this
  3907. to be true. Here are the details:
  3908.  
  3909. You need a letter from your instructor, on school letterhead, saying that you
  3910. are, indeed, taking Pascal, and will use this copy for eduactional purposes.
  3911. Send that, with another letter saying what you want (Turbo Pascal 5.0 on
  3912. [type] disks..) and a check for $44.50. You will not have to pay shipping or
  3913. tax (if you live outside of Califorina). Send it to:
  3914.  
  3915.    Attn: Education Department
  3916.    Borland International
  3917.    1800 Green Hills Road
  3918.    PO Box 660001
  3919.                  95066-001
  3920.  
  3921. If you have any questions, you can call Borland at (408)438-8400.
  3922. --- QuickBBS v2.03
  3923.  * Origin: CRIMP BBS [Sysop? Who Me?] (313) 582-6671 Wild! (1:120/116)
  3924.  
  3925.  
  3926. From:    Bob Ransom 
  3927. To:      Scott Samet                              Msg #148, 29-Jan-89 10:17am
  3928. Subject: Re: TUG O'Wards IV
  3929.  
  3930. -> IRC = International Reply Coupon.
  3931.  
  3932. That's it!
  3933. --- QuickBBS v2.03
  3934.  * Origin: The CREATIVE CONNECTION-Southfield, MI-(313) 559-9039 (1:120/96)
  3935.  
  3936.  
  3937. From:    Roland Brown 
  3938. To:      Matt Franckiewicz                        Msg #149, 31-Jan-89 11:20am
  3939. Subject: Re: Keep command, Cntrl-C
  3940.  
  3941.  >  > be able to reset the interrupt to the original setting
  3942.  >  > by using those variables. I think there is even an example
  3943.  >  > of how to do that in the manual(s) but I don't remember
  3944.  >  > where.
  3945.  >
  3946.  > If you are sa{ying that by doing something like
  3947.  > SaveInt24 := @YourNewInterrupt;
  3948.  > you can change what the interrupt does, I think you are
  3949.  
  3950. No.  What I was saying was that Turbo Pacal saves those vectors in those
  3951. pointers.  If you want to you could reset the vectors to the original vector
  3952. by using the SetVect (whatever the correct command is) to SaveInt24.  You
  3953. cannot simply do the above since all that would do is change the address in
  3954. the pointer.
  3955.  
  3956. roland 
  3957.  
  3958. ---
  3959.  * Origin: Sky Pilot Point Mail Box Off 261/1004 (Opus 1:26102/4)
  3960.  
  3961. *** This is a reply to #133.
  3962.  
  3963.  
  3964. From:    Jerry Brenner 
  3965. To:      Parker Jordan                            Msg #150, 31-Jan-89 04:22pm
  3966. Subject: Re: READ_KBD
  3967.  
  3968. I cannot find any mention of a read_kbd function in my technojocks manual.
  3969. What version do you have?
  3970.  
  3971.  
  3972. ---
  3973.  * Origin: Mdtn_BBS,  (717) 948-0212  Middletown Pa  Fidonet (Opus 1:150/511)
  3974.  
  3975. *** This is a reply to #112.
  3976.  
  3977.  
  3978. From:    Jim Forbes 
  3979. To:      Andy Lester                              Msg #151, 31-Jan-89 10:22am
  3980. Subject: Looping style
  3981.  
  3982. > JF>      Str_Length:= LENGTH(Source);
  3983. > JF>      FOR Position:= 1 TO Str_Length DO
  3984.   
  3985. > Stylistic question: ...  Why not simply say:
  3986. >  for Position:=1 to length(source) do {blah}
  3987.   
  3988. Andy:
  3989.   I used a compiler or interpreter at one time that evaluated the value
  3990. of a function in a looping statement each time through the loop.  I figured
  3991. that it was worth allocating variable space in order to make the loop more
  3992. efficient.  It turned into a habit that I never gave much thought to.
  3993.   
  3994.   Since you mentioned it, I decided to check and see how TP does it.
  3995. Turbo evaluates the expression only once. (The correct way in my opinion.)
  3996. As a result, its inefficient to do it the way I did.  Thanks for bringing
  3997. it to my attention.
  3998.  
  3999.  
  4000. ---
  4001.  * Origin: Backstreet BBS [HST], Fulton, NY * (315)-593-1589 (Opus 1:260/325)
  4002.  
  4003.  
  4004. From:    Jim Forbes 
  4005. To:      Scott Samet                              Msg #152, 31-Jan-89 10:23am
  4006. Subject: compiler directives
  4007.  
  4008. > >  {I$-} REPEAT              GOTOXY(52,Num_Address+7); WRITE(' ':5);
  4009. >
  4010. > The syntax is {$I-}
  4011.   
  4012.  Thanks, couldn't see the trees for the forest.
  4013.  
  4014.  
  4015. ---
  4016.  * Origin: Backstreet BBS [HST], Fulton, NY * (315)-593-1589 (Opus 1:260/325)
  4017.  
  4018. *** This is a reply to #4.
  4019.  
  4020.  
  4021. From:    Mark Howard 
  4022. To:      Paul Lindquist                           Msg #153, 31-Jan-89 12:42pm
  4023. Subject: Re: BBS
  4024.  
  4025.  > TP Board version 5.0 is the latest BBS written in Turbo Pascal.
  4026.  > Source Code is available for the board.  Paul Lindquist
  4027.  
  4028. Not for 5.0, if I'm not mistaken.  Version 4.something was the last source
  4029. released.
  4030.  
  4031. -m
  4032.  
  4033. --- FD 2.00
  4034.  * Origin: QuickBBS East [HST] - Distribution & Support (1:260/340)
  4035.  
  4036. *** Part of a conversation.
  4037.  
  4038.  
  4039. From:    Mike Janke 
  4040. To:      Wes Fisher                               Msg #154, 30-Jan-89 06:13pm
  4041. Subject: Thanx!!
  4042.  
  4043.  > Thanx for your help on the bits!!
  4044.  
  4045. No problem. Glad I could help.
  4046.  
  4047. --- FD 2.00
  4048.  * Origin: Kendall BBS - Miami's First QuickBBS  (1:135/4)
  4049.  
  4050. *** This is a reply to #7.
  4051.  
  4052.  
  4053. From:    Terry Hamel 
  4054. To:      All                                      Msg #155, 30-Jan-89 09:59am
  4055. Subject: Data Compression Routines
  4056.  
  4057.        I'd really appriciate it if anyone could post their knowledge on data
  4058. compression routines. If you have any books that are good references or have
  4059. some routines in Pascal, please leave a reply.
  4060.  
  4061.  
  4062. --- Lynx v1.22
  4063.  * Origin: EastSide Data Services - The New 105/61!
  4064.  
  4065.  
  4066. From:    Greg Franklin 
  4067. To:      Doug Lewis                               Msg #156, 30-Jan-89 12:42am
  4068. Subject: Re: YEAR 2000
  4069.  
  4070.  >                                         I hear that the year 2000 
  4071.  > or  every 2000 years there is 1 more day added to this year plus 
  4072.  > 1 day  for Leap year making 30 days for Febuary.  Is this correct 
  4073.  > or not?  If so where do I find the documentation stating this?  
  4074.  
  4075. Incorrect.  Normally, a year divisible by 100 would not have a leap
  4076. year at all! But since 2000 is divisible by 400 (a special case), 
  4077. there will be a normal 29-days-in-February leap year 11 years from
  4078. now.
  4079.  
  4080. (Hey, we oughta start planning the celebration party, don't you
  4081. think?)
  4082.  
  4083. --- Via OpXpress V1.07ß "Silver"  Greg Franklin, an End User...
  4084.  * Origin: The Migrants BBS Phx. Az. ░▒▓ (602) 264-2328 ▓▒░ (1:114/07)
  4085.  
  4086. *** Part of a conversation.
  4087.  
  4088.  
  4089. From:    Ed Grey 
  4090. To:      Jason Smith                              Msg #157, 30-Jan-89 12:28pm
  4091. Subject: Re: Turbo Pascal
  4092.  
  4093. Hello Jason, Borland recently sold the rights for Turbo Pascal 3.0 (for CP/M)
  4094. to a company called Alpha Systems, their number is (408) 297-5583.  Their
  4095. address is 711 Chatsworth Place, San Jose CA 95128.  The person to contact is
  4096. Joe Wright.  Hope this helps.
  4097.   
  4098. I am currently learning/using Turbo Pascal 3.0 on my CP/M computer.  Take
  4099. care.
  4100.     Ed Grey, Sysop of Grey Matter BBS (213-971-6260)
  4101. --- QuickBBS v2.03
  4102.  * Origin: Hatzlacha (213-466-3861) KESHERnet (Los Angeles, CA) (1:102/743)
  4103.  
  4104.  
  4105. From:    Ed Grey 
  4106. To:      Bill Shymanski                           Msg #158, 30-Jan-89 12:34pm
  4107. Subject: Re: turbo 5.0/cp/m disk formats
  4108.  
  4109. Turbo Pascal 3.01 for CP/M is available from:
  4110. Alpha Systems
  4111. 711 Chatworth Place
  4112. San Jose, CA 95128
  4113. (408) 297-5583
  4114. contact: Joe Wright
  4115.   
  4116. I believe (not positive) that the current price is $69.00, I suggest that you
  4117. confirm price with Alpha Systems.  Take care.
  4118.      Ed Grey, Sysop of Grey Matter BBS (213-971-6260)
  4119. --- QuickBBS v2.03
  4120.  * Origin: Hatzlacha (213-466-3861) KESHERnet (Los Angeles, CA) (1:102/743)
  4121.  
  4122.  
  4123. From:    Ed Grey 
  4124. To:      All                                      Msg #159, 30-Jan-89 12:50pm
  4125. Subject: Complete TP disk...
  4126.  
  4127. I have been using a book called the "Complete Turbo Pascal" (second edition)
  4128. by Jeff Duntemann, to help me with learning TP3.0. The seems to be okay.  I
  4129. have managed to locate a disk with the source files listed in the first
  4130. edition of the book, but I would like to locate the updated source files from
  4131. the second edition (which also covers TP 3.0. If anyone has (or knows where I
  4132. can locate) the disk for the second editon of this book, please leave me a
  4133. message.  Many thanks and take care.
  4134.    Ed Grey, Sysop of Grey Matter BBS (213-971-6260)
  4135. --- QuickBBS v2.03
  4136.  * Origin: Hatzlacha (213-466-3861) KESHERnet (Los Angeles, CA) (1:102/743)
  4137.  
  4138.  
  4139. From:    Mark Farnan 
  4140. To:      Frank Barrus                             Msg #160, 28-Jan-89 10:39am
  4141. Subject: Re: Bypassing the main screen
  4142.  
  4143.  > There are much easier ways to bypass that title screen.
  4144.  > Simply load turbo with: TURBO FILENAME, where filename
  4145.  > is the name
  4146.  > of one of your TP5 files..... This way it'll load it
  4147.  > There are much easier ways to bypass that title screen.
  4148.  > and go to
  4149.  > it directly...
  4150.  
  4151. The Title Screen is Also ByPassed if it finds a .PCK file in the directory. 
  4152.  It will go straight up, loading your last used file,  and away you 
  4153. go. !
  4154.  
  4155. Mark Farnan 
  4156.  
  4157. --- ConfMail V3.2
  4158.  * Origin: Pandemonium Programers BBS - (We Will WOC YOU) (3:711/414)
  4159.  
  4160.  
  4161. From:    Mark Farnan 
  4162. To:      Gary Doughty                             Msg #161, 28-Jan-89 09:53pm
  4163. Subject: Re: Quick Sort
  4164.  
  4165.  > I have recently trying to fin a quick way to sort some items
  4166.  > in an array.  I can write a buble sort fine, but it is
  4167.  > really slow.  Can someone please tell me how to write a
  4168.  > quick sort routine or better yet, give me some code?  I
  4169.  > needs to work on something about the size of an array of
  4170.  > 300 strings.
  4171. Hmm, I have some source on the BBS for a ZIP Sort, which claims 1000 records
  4172. in a couple of secods Max. . It is a 2k arc.
  4173.  
  4174. Pandemonium Programers BBS   (Fido 3:711/414)  61-2-411-7642
  4175.  
  4176. Mark Farnan 
  4177.  
  4178. --- ConfMail V3.2
  4179.  * Origin: Pandemonium Programers BBS - (We Will WOC YOU) (3:711/414)
  4180.  
  4181. *** This is a reply to #89.
  4182.  
  4183.  
  4184. From:    Mark Farnan 
  4185. To:      Mark Jeske                               Msg #162, 28-Jan-89 10:00pm
  4186. Subject: Re: MODEM
  4187.  
  4188.  > Hello, I am pretty new to the pascal area.  I have Turbo
  4189.  > Pascal 5.0.  I just have one question.  i was wondering
  4190.  > where all of the routines are for the modem?  what about
  4191.  > the routine to check if the phone is ringing or how to set
  4192.  > the modem?  Please help.
  4193.  >               Mark Jeske
  4194.  
  4195. Hi Mark.  I have quite a few of Modem Routines on the BBS, but that's in
  4196. Australia..  To Check the if the Phone is Ringing you Have to interpret one of
  4197. 2 things... 1- the RIng Detect Lene on the Comm Port, but not all modems use
  4198. this.   Or Sit in a Loop waiting for Characters from the modem.  You then have
  4199. to compare these with a string containing whatever your modem sends for a
  4200. RIng.. it is normally a No. or the word RING.  this loop should have a time
  4201. limit from first character to end, otherwise ang Crap coming in will mess
  4202. things up...  I have found the best way of talking to the Modem is to install
  4203. a Fossil program, like X00, and then use it via Interupts.
  4204.  
  4205. Mark Farnan - Pandemonium BBS - 3:711/414
  4206.  
  4207. --- ConfMail V3.2
  4208.  * Origin: Pandemonium Programers BBS - (We Will WOC YOU) (3:711/414)
  4209.  
  4210. *** This is a reply to #72.
  4211.  
  4212.  
  4213. From:    Mark Farnan 
  4214. To:      William Foxhunter                        Msg #163, 28-Jan-89 10:10pm
  4215. Subject: Re: Byte Location
  4216.  
  4217.  >    Gee, does anyone know the byte location(s) of the cursor
  4218.  > control word? That is, the memory location that controls
  4219.  > the size of the cursor?
  4220.  >    Thanks.
  4221.  
  4222. It is not an actual BYTE location. You actually have to access the Registers
  4223. on the 6845 video display controller.  (or Whatever the particular chip on an
  4224. EGA is). But he registers in question are the Same.
  4225.  
  4226. Video Display Registers.
  4227.  
  4228. To Access these registers, you have to Out to the Index Register ($3D4) the
  4229. Register you wish to Use. Then OutPut to The DataRegister ($3D5), the
  4230. information you wish it to contain.  (Or Read from it).
  4231. The Cursor is defined by 2 Registers, 10 & 11.   Register 10 defines the START
  4232. Scan line of it, and Register 11 Defines the STOP Scan Line. 
  4233. (PS - Please Remember those of us with 16 scan lines on a line {VGA} -)
  4234. Thats about it
  4235.  
  4236. Oh, one more Suggestion. To Write to PORTS in PAscal. use the PORT[] Array eg
  4237. to Write the Index with Register 10.
  4238.  
  4239. Begin
  4240.  Port[$3d8] := 10;
  4241. End.
  4242.  
  4243. Mark Farnan 
  4244.  
  4245. --- ConfMail V3.2
  4246.  * Origin: Pandemonium Programers BBS - (We Will WOC YOU) (3:711/414)
  4247.  
  4248.  
  4249. From:    David Dutton 
  4250. To:      ALL                                      Msg #164, 29-Jan-89 01:01pm
  4251. Subject: Protocols
  4252.  
  4253.  
  4254.        I desperately need several protocols in TP 4 or 5 source code. I would
  4255. rather not pay out for Protocol Engine but will if I have to. I need
  4256. specifically Zmodem, Xmodem and Modem7 but any are wanted. If possible can you
  4257. give me a net/node number where I can FREQ them. And please tell me size
  4258. before I call.
  4259.  
  4260. Thanks
  4261.  
  4262. David
  4263.  
  4264. --- msged 1.97S ZTC
  4265.  * Origin: The Stop Point  (FidoNet 3:712/504.2)
  4266.  
  4267.  
  4268. From:    Mark Farnan 
  4269. To:      Dale Barnes                              Msg #165, 29-Jan-89 12:34pm
  4270. Subject: Re: TPB 5.0
  4271.  
  4272.  > -> -->TPBoard 4.0 couldn't be recompiled after modification
  4273.  > of
  4274.  > -> -->source without an aftermarket item of some sort,
  4275.  > from what
  4276.  >
  4277.  > With 5.0 you will need to following to recompile the code:
  4278.  >
  4279.  >          Borland Database & Editor Toolbox
  4280.  >          TP Professional 5.0
  4281.  >          Protocol Engine (from the FD people).
  4282.  >
  4283.  > No easy or cheap way around.
  4284.  
  4285.  
  4286. Hmmm, I WANT Turbo Professional and the Protocol Engine DESPERATLY 
  4287. !!!!!.  Can any body please tell me where I can find/ get/ buy these 
  4288. Programs.  I have not seen Either in Australia.  But would not mind getting
  4289. them from the US if I can just find out WHERE.  I am writing my own BBS
  4290. system. (Yes I am feeling Suicidal :-).
  4291. Thanks Alot in advance.
  4292.  
  4293. Mark farnan
  4294. Pandemonium Programers BBS
  4295. 61-2-411-7642
  4296.  
  4297. --- ConfMail V3.2
  4298.  * Origin: Pandemonium Programers BBS - (We Will WOC YOU) (3:711/414)
  4299.  
  4300. *** Part of a conversation.
  4301.  
  4302.  
  4303. From:    Mark Farnan 
  4304. To:      Jon Guthrie                              Msg #166, 30-Jan-89 09:02am
  4305. Subject: Re: Setting Typematic Rate (TP4 or TP5)
  4306.  
  4307.  
  4308.  
  4309.  JG> PK> According to Norton this should double the typematic rate: 
  4310.  JG> 
  4311.  JG>Your first mistake was to use Norton.  (His information is never 
  4312.  JG>complete and is often wrong.) 
  4313.  
  4314. Incomplete i'd agre with, never found it wrong though.  I use The Programmers
  4315. PC SourceBook, by Thom Hogan,  for most of my Reference. But Nortons comes
  4316. into use occasionally. 
  4317.  
  4318. As for the Setting, TypMatic Rate  it cannot be done on an Xt, only AT, Pcjr,
  4319. and the PS/2 stuff. 
  4320.  
  4321. Mark Farnan 
  4322.  
  4323. --- ConfMail V3.2
  4324.  * Origin: Pandemonium Programers BBS - (We Will WOC YOU) (3:711/414)
  4325.  
  4326. *** There is a reply. See #221.
  4327.  
  4328.  
  4329. From:    Wes Fisher 
  4330. To:      All                                      Msg #167, 31-Jan-88 03:53pm
  4331. Subject: TPBoard
  4332.  
  4333. Does anyone have any info on TPBoard v5.0?  I wanta look at it.
  4334. Notice I said TPBoard not TPascal.
  4335.  
  4336. Wes
  4337. --- QuickBBS v2.03
  4338.  * Origin: WriteLn('I`ve got Pascal's Elbow!');  Connect 2400! (1:130/39)
  4339.  
  4340.  
  4341. From:    Bruce Mahoney 
  4342. To:      Roland Brown                             Msg #168, 30-Jan-89 04:09pm
  4343. Subject: TUG Subscription
  4344.  
  4345. Can you or anyone give info about subscribing to TUG?   Thanks..
  4346.  
  4347.  
  4348. ---
  4349.  * Origin: Huh? (Opus 1:170/211)
  4350.  
  4351. *** There is a reply. See #178.
  4352.  
  4353.  
  4354. From:    Andy Lester 
  4355. To:      Mike Janke                               Msg #169, 30-Jan-89 07:24pm
  4356. Subject: Re: Help On The Way
  4357.  
  4358.    >   WHILE KeyPressed DO IF ReadKey = #0 Then ;
  4359.  
  4360.  MJ> Can you explain the Then without anything following it?  I first saw 
  4361.  MJ> that in a example in the Turbo Pro manual and thought it was a 
  4362.  MJ> misprint... but the darn thing worked.
  4363.  
  4364. There IS something following it:  An empty statement.  He could even have 
  4365. written it as:
  4366. while Keypressed do
  4367.   if ReadKey=#0 then
  4368.     begin
  4369.     end;
  4370.  
  4371. An empty statement generates no code, but can help things out.  I've written 
  4372. code like this before:
  4373.  
  4374. if a=b
  4375.   then {nothing}
  4376.   else process_stuff;
  4377.  
  4378. There IS a statement, in the syntactical sense, following the Then, but it 
  4379. generates no code.  Functionally, that statement is equivalent to
  4380.  
  4381. if a<>b
  4382.   then process_stuff;
  4383.  
  4384. but sometimes I don't want to write it like that.
  4385.  
  4386. Andy
  4387.  
  4388.  
  4389. --- msged 1.96S ZTC
  4390.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  4391. (1:115/790.2)
  4392.  
  4393. *** Part of a conversation.
  4394.  
  4395.  
  4396. From:    Andy Lester 
  4397. To:      James Williams                           Msg #170, 30-Jan-89 07:27pm
  4398. Subject: Screen-writes
  4399.  
  4400.  JW> Anyways, This is how I do my direct screen-writes, but I've a Mono
  4401.  JW> monitor, so I've never had to worry about Snow for the CGA screen:
  4402.  
  4403. But why bother?  Turbo does it for you via WRITE and WRITELN, I thought.  Am 
  4404. I wrong about this?
  4405.  
  4406. Andy
  4407.  
  4408.  
  4409. --- msged 1.96S ZTC
  4410.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  4411. (1:115/790.2)
  4412.  
  4413. *** This is a reply to #49.
  4414.  
  4415.  
  4416. From:    Andy Lester 
  4417. To:      Dave Goggin                              Msg #171, 30-Jan-89 07:30pm
  4418. Subject: PASCAL RECURSION
  4419.  
  4420.  DG> the results seem to show that in order for recursion to work, you must 
  4421.  DG> plan carefully to get the maximum efficiency, and not overuse
  4422.  DG> recursion when a simple solution exists.
  4423.  
  4424. Right!  The factorial problem is a classic example of recursion, as well as a 
  4425. classic example of what's called (I believe) "head to tail recursion", since 
  4426. as soon as the recursive call is finished, the procedure ends.
  4427.  
  4428. Andy 
  4429.  
  4430. --- msged 1.96S ZTC
  4431.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  4432. (1:115/790.2)
  4433.  
  4434. *** This is a reply to #141.
  4435.  
  4436.  
  4437. From:    Jean-Pierre Isore 
  4438. To:      All                                      Msg #172, 27-Jan-89 10:32pm
  4439. Subject: USE OF ECHO
  4440.  
  4441.  
  4442. For the sake of all active users of Echoes, be it reminded that:
  4443.  
  4444. 1. transmitting Echoes across the Continent is costing money
  4445.    to the SYSOP of the system
  4446.  
  4447. 2. The SYSOP bears no responsability for transmitting your private
  4448.    mail at his/her expense
  4449.  
  4450.    --------------------------------------------------
  4451. 3. Therefore make sure any message placed in an Echo,
  4452.    be it addressed to All or to any individual,
  4453.    is placed in an Echo solely if it is of
  4454.    interest to OTHER readers,
  4455.    I insist OTHER readers
  4456.    even if it is a private answer to a previous Echo
  4457.    message!
  4458.    -------------------------------------------------
  4459.  
  4460. 4. Any message which is only of interest to you and the addressee
  4461.    should be forwarded at YOUR expense through Net Mail!
  4462.  
  4463. 5. I love Echoes but as a SYSOP I am fed up paying for other people's
  4464.    private mail!
  4465.  
  4466. 6. This rule is applicable to any Echo!
  4467.  
  4468. 7. Use E-Mail for local private mail and Net-Mail for private outgoing
  4469.    mail!
  4470.  
  4471. Jean-Pierre, SYSOP, InfoDoc-Montreal
  4472. --- TBBS v2.0
  4473.  * Origin: The Canadian Videotex - InfoDoc-Montreal (514) 345-0565  (167/123)
  4474.  
  4475.  
  4476. From:    Andy Lester 
  4477. To:      Rolan Yang                               Msg #173, 01-Feb-89 05:02pm
  4478. Subject: VIRUS
  4479.  
  4480.  RY> I previously read a message about someone trying to write a virus
  4481.  RY> in pascal. Well, my computer class is the most boring in the world
  4482.  RY> and in between assignments I've been working on one. I have a working
  4483.  
  4484.  RY> Does anyone know how I can get a directory into a TXT file from a 
  4485.  RY> pascal program??
  4486.  
  4487. Like we're going to help you on this one?  Give us a break.  Go do something 
  4488. more productive with your time.  Sleeping is a start.
  4489.  
  4490. Andy
  4491.  
  4492.  
  4493. --- msged 1.96S ZTC
  4494.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  4495. (1:115/790.2)
  4496.  
  4497. *** Part of a conversation.
  4498.  
  4499.  
  4500. From:    Andy Lester 
  4501. To:      Matt Franckiewicz                        Msg #174, 01-Feb-89 05:05pm
  4502. Subject: R
  4503.  
  4504.  MF> is supposed to be published in the Jan/Feb issue of Turbo Tech Report 
  4505.  
  4506. Where can we get a hold of this publication?
  4507.  
  4508. Andy
  4509.  
  4510.  
  4511. --- msged 1.96S ZTC
  4512.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  4513. (1:115/790.2)
  4514.  
  4515. *** This is a reply to #134.
  4516.  
  4517.  
  4518. From:    Andy Lester 
  4519. To:      Paul West                                Msg #175, 01-Feb-89 06:27pm
  4520. Subject: String Functions
  4521.  
  4522.  PW> While I havn't tested Turbo Pascal to verify this..... many compilers 
  4523.  PW> would  have to calculate the length of "SOURCE" each pass thru the 
  4524.  PW> loop.  It makes a  remarkable diffence in speed to pre-calculate the 
  4525.  PW> result rather than have the  program do it many times over at run-time.
  4526.  
  4527. Nope.  The length of the string isn't "calculated" at any time.  Length(strg) 
  4528. is exactly the same as ord(strg[0]).  The first byte of the string holds the  
  4529. length, and is treated as a plain ol' numeric byte.
  4530.  
  4531. Now, if they were ASCIIZ strings, where it had to search for a hex 00 as a  
  4532. terminator, that would be something different.
  4533.  
  4534. Actually, length is not a function, but more a macro, a la C.  A  function
  4535. call is not generated, but simply the equivalent of
  4536. {$R- index checking off}
  4537. N:=ord(strg[0]);
  4538. {$R+}
  4539.  
  4540. Ord, Odd and Chr aren't functions, either, and with Turbo 4.0+'s 
  4541. type-casting, they become unnecessary.  
  4542.  
  4543. I USED to avoid using chr() and ord() all the time.  I'd define
  4544. ESC:=chr(27) as a variable so that I'd not have to keep calling the chr() 
  4545. function.  However, chr(27) is really a character literal when compiled, 
  4546. where the call to the variable ESC ate up more code...
  4547.  
  4548. Andy
  4549.  
  4550. --- msged 1.96S ZTC
  4551.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true; 
  4552. (1:115/790.2)
  4553.  
  4554. *** There is a reply. See #204.
  4555.  
  4556.  
  4557. From:    Andy Lester 
  4558. To:      All                                      Msg #176, 01-Feb-89 07:13pm
  4559. Subject: ProDOS Pascal compilers
  4560.  
  4561. I'm about to undertake a fairly sizable project that will run on the Apple //e
  4562. series.  I imagine it will be under ProDOS, although maybe DOS 3.3.  My 
  4563. question is:  Are there any good Pascal compilers that will generate native 
  4564. code that will run under either OS?  I haven't seen any, but then again I've 
  4565. not used DOS or ProDOS for a few years.... :-)
  4566.  
  4567. Thanks
  4568. Andy 
  4569.  
  4570. --- msged 1.96S ZTC
  4571.  * Origin: CONST PointName='Paradise City'; death=true; taxes=true;
  4572. (1:115/790.2)
  4573.  
  4574.  
  4575. From:    Rich Myers 
  4576. To:      Pat Anderson                             Msg #177, 01-Feb-89 07:16pm
  4577. Subject: Re: Tpb 5.0
  4578.  
  4579. Yes I am interested in a TP5 board with complete source (provided it can be
  4580. done with a minimum of investment in 3rd party stuff) and for the last
  4581. question I am not writing one...
  4582.  
  4583. Rich
  4584.  
  4585. --- Operetta V0.5.1Γ
  4586.  * Origin: The Twilight Zone (713) 497-5778 (1:106/301)
  4587.  
  4588. *** Part of a conversation.
  4589.  
  4590.  
  4591. From:    Rich Lewis 
  4592. To:      Bruce Mahoney                            Msg #178, 01-Feb-89 08:40pm
  4593. Subject: Re: TUG Subscription
  4594.  
  4595. TUG address:
  4596.                P.O. Box 1510
  4597.                Poulsbo, Wa.   98370
  4598.  
  4599. Membership is $ 24/ yr U.S.
  4600.               $ 28/ yr Canada & Mexico
  4601.               $ 39/ yr elsewhere
  4602.  
  4603. Their BBS number is (206) 697-1151
  4604.  
  4605.  
  4606. ---
  4607.  * Origin: SoundingBoard 713-821-4148 Houston `Just Say NOpus' (Opus 1:106/12)
  4608.  
  4609. *** Part of a conversation.
  4610.  
  4611.  
  4612. From:    John Klein @ 106/666 
  4613. To:      Rich Myers                               Msg #179, 01-Feb-89 09:17pm
  4614. Subject: Re: Tpb 5.0
  4615.  
  4616. In a message of <01 Feb 89 20:16:12>, Rich Myers (1:106/301) writes:
  4617.  
  4618.  RM>Yes I am interested in a TP5 board with complete source (provided it 
  4619.  RM>can be done with a minimum of investment in 3rd party stuff) and for 
  4620.  RM>the last question I am not writing one...
  4621.  RM> 
  4622.  RM>Rich
  4623.  
  4624.   If you can't get a hold of Tboard 5.0.  You might want to look into World
  4625. War Four (WWIV).  It's written in TP3.0, but it's rather well done, and the
  4626. author releaed it for the sole purpose of people UTILIZING his source code. 
  4627. Several BBS Systems have been made from it, The Message system is excellent.
  4628. Just thought t'might be helpful.
  4629.  
  4630.  
  4631. --- msged 1.97S ZTC
  4632.  * Origin: My Private Hell  (1:106/666)
  4633.  
  4634. *** This is a reply to #177.
  4635.  
  4636.  
  4637. From:    Chris Cavers 
  4638. To:      All                                      Msg #180, 02-Feb-89 01:55am
  4639. Subject: qs
  4640.  
  4641. Someone asked about a fast sort algorithm.
  4642. look into just about any data structures programming book and there should
  4643. be a listing for a sort routine called the 'quicksort'.
  4644. It is very fast! 
  4645. Or look into a sort routine called the 'radix sort' which is also fast
  4646.  
  4647.  
  4648.  
  4649. --- TAGMAIL v0.22.02 Beta
  4650.  * Origin: My Private Hell -- Houston,Tx (713)980-4824 (1:106/666.0)
  4651.  
  4652.  
  4653. From:    dj murdoch 
  4654. To:      Jesper Wolf                              Msg #181, 30-Jan-89 06:46pm
  4655. Subject: TESSERACT
  4656.  
  4657.  > I got hold of a version of tesseract for Turbopascal ver 4 but need one
  4658.  > for Turbopascal Ver 5. Do you know if that one exists?
  4659.  
  4660. Yes, I think I saw a notice on Compuserve that it has been released recently. 
  4661. I haven't got a copy yet - it seemed too insistent that I register, and I
  4662. didn't need it enough to send money or to live with the guilt of using it
  4663. unregistered :-)
  4664.  
  4665. --- ConfMail V3.31
  4666.  * Origin: Murdoch's_Point  - - (1:221/162.1005)
  4667.  
  4668. *** Part of a conversation.
  4669.  
  4670.  
  4671. From:    Lou Garner 
  4672. To:      Mike Hinds                               Msg #182, 01-Feb-89 09:14pm
  4673. Subject: Re: TP 5.0
  4674.  
  4675. FYI, noticed that Jeff Dunteman has released his book updated
  4676. for TP 5.0.  Good reference.
  4677.  
  4678. --- Via OpXpress V1.03ß       Don't you MESS with Texas, son....!!
  4679.  * Origin: The Tech Connect - **HST** (1:124/6215)
  4680.  
  4681. *** Part of a conversation.
  4682.  
  4683.  
  4684. From:    Lou Garner 
  4685. To:      Reinhardt Mueller                        Msg #183, 01-Feb-89 09:19pm
  4686. Subject: PASCALs
  4687.  
  4688.  >>you'll be as near to Pascal as you can get without actually
  4689.  >>getting Turbo 5.0! Get it! You won't be disapointed. You'll won't
  4690.  
  4691. FYI, I read in the current issue of PC WEEK that MicroSoft is
  4692. about to issue QUICK PASCAL.  Things are going to get pretty
  4693. confusing very soon.
  4694.  
  4695. One thing though... If they try to sell their product, it will
  4696. have to be better than TP 5.0 to succeed.  Can you imagine what
  4697. that might result in?
  4698.  
  4699. --- Via OpXpress V1.03ß       Don't you MESS with Texas, son....!!
  4700.  * Origin: The Tech Connect - **HST** (1:124/6215)
  4701.  
  4702.  
  4703. From:    Paul Lindquist 
  4704. To:      Terry Gaudet                             Msg #184, 31-Jan-89 10:24pm
  4705. Subject: Re: TURBO PASCAL 4 & 5
  4706.  
  4707. Turbo Pascal still had some memory problems that they didn't get solved.
  4708. Version 5.0 fixed that and added some more stuff.
  4709.  
  4710. Paul Lindquist
  4711. --- TBBS v2.0
  4712.  * Origin: TBBS in '89, We aren't QUICKly Lost in Time 918-744-0249 (170/210)
  4713.  
  4714. *** Part of a conversation.
  4715.  
  4716.  
  4717. From:    Tom Bradford 
  4718. To:      Joerg Hegermann                          Msg #185, 01-Feb-89 04:24pm
  4719. Subject: Re: Style Debate #9,005
  4720.  
  4721. -> >Hi Tom,
  4722. -> >
  4723. -> >I'm writing from Singapore.
  4724. -> >I read your message regarding these F/X units.
  4725. -> >They sounded interesting to me.
  4726. -> >Are they public domain? And if so, is the source included?
  4727. -> >I'd be interested in downloading them in orderr to learn
  4728. -> >some pascal, since I'm still quite new to it.
  4729. -> >Perhaps if you could get me an account in your BBs I could
  4730. -> >download it from here? (That is if they aren't too
  4731. -> >big...otherwise I'll be poor due to the phone costs from
  4732. -> >here to the States).
  4733. -> >
  4734. -> >Cheers
  4735. -> >Joerg Hegermann
  4736.  
  4737. Upon logging on to my BBS, you will be automatically validated.  Though, I
  4738. am not releasing source code with most of my Units.  I do though have
  4739. example source code for the implementation of the individual Units that I
  4740. use.
  4741.  
  4742. The F/X-BBS - (617)567-8993 (1200/300BPS) - SysOp: Tom Bradford
  4743. --- QuickBBS v2.03
  4744.  * Origin: Read My Lips: I Meant No New TEXAS!  Yeah that's it! (1:101/160)
  4745.  
  4746. *** This is a reply to #57.
  4747.  
  4748.  
  4749. From:    Rick Rakes 
  4750. To:      Kevin Lowey                              Msg #186, 31-Jan-89 10:36am
  4751. Subject: Re: Pascal Sucks
  4752.  
  4753. Boy what a jerk....
  4754. --- QuickBBS v2.03
  4755.  * Origin: Felicia.. (804)591-0736[HST] Registered Quickbbs N News Va
  4756. (1:264/47)
  4757.  
  4758. *** Part of a conversation.
  4759.  
  4760.  
  4761. From:    Rolan Yang 
  4762. To:      Rolan Yang                               Msg #187, 01-Feb-89 10:31am
  4763. Subject: Re: VIRUS
  4764.  
  4765.  Sorry about one of my lines I had some type saying
  4766. CAT.TXT begin bla blabalbal
  4767.           ^
  4768.           !
  4769. corrected line should read
  4770. CAT.TXT BEING bla blabalbal
  4771.                                      Sorry,
  4772.                                  ROlan YAng
  4773. --- QuickBBS v2.03
  4774.  * Origin: MicroMan BBS - Piscataway, NJ (201)463-1540 (1:107/334)
  4775.  
  4776. *** Part of a conversation.
  4777.  
  4778.  
  4779. From:    Rolan Yang 
  4780. To:      Rolan Yang                               Msg #188, 01-Feb-89 10:38am
  4781. Subject: Re: VIRUS
  4782.  
  4783. Hmmm something is wrong... I can't think straight. I think I have the flu.
  4784. sorry
  4785. --- QuickBBS v2.03
  4786.  * Origin: MicroMan BBS - Piscataway, NJ (201)463-1540 (1:107/334)
  4787.  
  4788. *** Part of a conversation.
  4789.  
  4790.  
  4791. From:    Ross Wentworth 
  4792. To:      Charles Falconer                         Msg #189, 31-Jan-89 08:02pm
  4793. Subject: PascalP - MS DOS
  4794.  
  4795.  > I will release the code generator and run-time library
  4796.  > sources to responsible
  4797.  > persons who will keep me informed, for CPM use, and will
  4798.  > discuss the MSDOS port also (Compiler/codegenerator runs,
  4799.  > but library has insects).
  4800.  
  4801. I am interested in working on the libraries for the DOS version.  A while back
  4802. I created the functional equivelent of the DOS unit for a now defunct Pascal
  4803. compiler.  I have intimate knowledge of low-level DOS programming and can
  4804. provide assistance in all many areas.
  4805.  
  4806.                                     Ross Wentworth
  4807.  
  4808. --- FD 2.00
  4809.  * Origin: St Dymphna's Retreat via Torrance BBS 213-370-9027 (1:102/345.1)
  4810.  
  4811.  
  4812. From:    Ross Wentworth 
  4813. To:      Scott Sirovy                             Msg #190, 31-Jan-89 08:04pm
  4814. Subject: Graphics and TSRs
  4815.  
  4816.  >  Has anyone got a TSR shell lying around?  I'd rather just
  4817.  > insert my
  4818.  > routine into a shell than have to learn to write TSRs
  4819.  > (although someday I
  4820.  > will) now.
  4821.  
  4822. You can get my TSR package from the number listed below, the current version
  4823. is TPPOP18C.ARC, or the magic name of TPPOP.
  4824.  
  4825.                                     Ross Wentworth
  4826.  
  4827. --- FD 2.00
  4828.  * Origin: St Dymphna's Retreat via Torrance BBS 213-370-9027 (1:102/345.1)
  4829.  
  4830.  
  4831. From:    Ross Wentworth 
  4832. To:      Terry Gaudet                             Msg #191, 31-Jan-89 08:08pm
  4833. Subject: Turbo Pascal 4 & 5
  4834.  
  4835.  > to programming (and somewhat ignorant) I was wondering if I
  4836.  > should upgrade from my ver.3.0. If so which one (4 or 5)
  4837.  > would you suggest
  4838.  >  as being the better buy?  Thanks, Terry
  4839.  
  4840. Version 4.0 is no longer being marketed by Borland so that sort of limits your
  4841. choice.  Version 5.0 has a few additions that make it a better choice, the
  4842. biggest enhancement is built in mini-debugger and support for their full blown
  4843. debugger (from the Turbo Assembler/Debugger package).
  4844.  
  4845.                                     Ross Wentworth
  4846.  
  4847. --- FD 2.00
  4848.  * Origin: St Dymphna's Retreat via Torrance BBS 213-370-9027 (1:102/345.1)
  4849.  
  4850. *** Part of a conversation.
  4851.  
  4852.  
  4853. From:    Ross Wentworth 
  4854. To:      Tomas Gradin                             Msg #192, 31-Jan-89 08:13pm
  4855. Subject: TPPOP18B
  4856.  
  4857.  > What is it?
  4858.  
  4859. It's a TSR programming unit.  It basically allows you to quickly and easily
  4860. create resident popup programs (i.e. Sidekick (tm) like).
  4861.  
  4862. > And, where can I find it?
  4863.  
  4864. I don't know if it's available anywhere in zone 2, but you can FREQ it from my
  4865. bossnode (see below).  The current version is TPPOP18C.ARC.
  4866.  
  4867. ShareWare?
  4868.  
  4869. Yes.
  4870.  
  4871.                                     Ross Wentworth
  4872.  
  4873. --- FD 2.00
  4874.  * Origin: St Dymphna's Retreat via Torrance BBS 213-370-9027 (1:102/345.1)
  4875.  
  4876. *** This is a reply to #79.
  4877.  
  4878.  
  4879. From:    Ross Wentworth 
  4880. To:      Hector Santos                            Msg #193, 31-Jan-89 08:27pm
  4881. Subject: Re: Pascal => C
  4882.  
  4883.  > Using Quick C to learn is very fustrating. I suggest Turbo
  4884.  > C instead.
  4885.  
  4886. That's my plan.  Since money is a little tight at this time I'll just stick to
  4887. Turbo Pascal (which has never let me down).  If I can find some sucker, uh,
  4888. lucky person - to buy or trade my QuickC package then I'll reconsider learning
  4889. C.
  4890.  
  4891.                                     Ross Wentworth
  4892.  
  4893. --- FD 2.00
  4894.  * Origin: St Dymphna's Retreat via Torrance BBS 213-370-9027 (1:102/345.1)
  4895.  
  4896. *** This is a reply to #136.
  4897.  
  4898.  
  4899. From:    Kanda'jalen Eirsie 
  4900. To:      Syd Kahn                                 Msg #194, 31-Jan-89 10:28pm
  4901. Subject: Re: Printing Graphics
  4902.  
  4903. Be more specific about what kind of graphics you want printed.
  4904.  
  4905.   I had the same problem, only it was for a herculese screen.
  4906.  
  4907.   Basicly the problem as explained to me by the many people at Borland 
  4908. and The Compusearve Sig was that the Write and Writeln procedures are doctored
  4909. to stop output at a ^Z.  If you have an epson type printer the basic procedure
  4910. is to look at all the bits on the screen in groups of 8 going down i.e if you
  4911. are working with a graphics screen,
  4912.   Pixel 0,0 (upperlefthandcorner) is the first pixel you want, then 
  4913. 1,0 2,0 3,0  etc...  Moving across the screen..  Get out your printer manual
  4914. and it will show you what graphics mode you want to print in.
  4915. Unless you want to get ahold of it yourself, I can supply you with a TP5.0
  4916. Unit that will set up the printer into various graphics modes by the use of a
  4917. procedure called Hardcopy() ;
  4918.   Where the parameter is the mode you want to print in.
  4919.    It reads any graphics screen and prints to an epson type printer. 
  4920.  With a little jazz, you can modify it to any type of printer and if 
  4921. you want to print color, you would simply have to modify the subprocedure that
  4922. reads the screen, as it only reads whether a pixel is on or off..
  4923. I.E.  Color <> 0 ;  If you have a compusteal account, then it is available
  4924. there.  I believe it's called PrnGrph.  or GrphPrn something like that. 
  4925.  I made some modifications on the logic to get the databits and my 
  4926. version runs about twice as fast.  I optimized the way the data was read and
  4927. interpreted from the screen.  Whoever wrotye it in the first place did it in 5
  4928. instructions.  I Moved it into a Byte from a for loop, which was a bit faster
  4929. than his while loop.
  4930.  
  4931.                         Anyway,..
  4932.  
  4933.  
  4934.  
  4935.                                                       Kanda'
  4936.  
  4937.  
  4938. ---
  4939.  * Origin: Midi 'n Music 9600 (Irvine, CA - (714)552-3036) (Opus 1:103/516)
  4940.  
  4941. *** Part of a conversation.
  4942.  
  4943.  
  4944. From:    Jon Guthrie 
  4945. To:      Andy Lester                              Msg #195, 01-Feb-89 09:57pm
  4946. Subject: Re: USES style
  4947.  
  4948. Re: FROM module IMPORT stuff
  4949.  
  4950.  AL> I think it's mostly to allow the programmer to explicitly say 
  4951.  AL> which code he   wants imported from the units that he's using.  
  4952.  AL> If, for example, you're using   unit CRT, but you're only using 
  4953.  AL> KeyPressed, you don't want the rest of the   code that's in CRT 
  4954.  AL> sucked in as well, do you? 
  4955.  
  4956. I don't think that the smart linker is the real reason that that feature
  4957. is included.  As you pointed out, such things don't need extra source
  4958. code.  A good reason to continue requiring the IMPORT list would be
  4959. this:  suppose you had two different procedures with the same name, but
  4960. different functions in each of two different files.  With the IMPORT
  4961. clause (is it called a clause?  I'm not sure.) you can include one, but
  4962. not the other, but still use stuff from both files.  Otherwise, you
  4963. would wind up specifying which source file the particular function came
  4964. from each time you used it.  (One of these 'do it now, or do it a lot
  4965. later' deals.)
  4966.  
  4967. Before you start telling me that such a thing is far-fetched, I seem to
  4968. remember a problem somebody had recently that involved something
  4969. similar. 
  4970.  
  4971. --- Via OpXpress V1.06ß "Silver"  SCIGUY -  The Scourge of Delphi!
  4972.  * Origin: FOG-LINE;FOG#51;USR HST;515-964-7937 (1:14/627)
  4973.  
  4974. *** This is a reply to #139.
  4975.  
  4976.  
  4977. From:    Mark Zylka 
  4978. To:      All                                      Msg #196, 01-Feb-89 02:12pm
  4979. Subject: TML Pascal
  4980.  
  4981. Does anyone have TML Pascal?  Is the documentation good enough?  I have heard
  4982. it is a good program.. I would like a few more opinions.
  4983.  
  4984.  
  4985. ---
  4986.  * Origin: The PainFrame [where English is butchered] (301) 488-7461 (Opus
  4987. 1:261/1004)
  4988.  
  4989.  
  4990. From:    Lee Davis 
  4991. To:      All                                      Msg #197, 31-Jan-89 08:34am
  4992. Subject: New Network
  4993.  
  4994. IMPORTANT MESSAGE TO SYSOPS -   A NEW NET FOR THE 90'S!
  4995.  
  4996. A New NATIONAL NET has arrived on the scene.  It's called BBS NET!
  4997.  
  4998. BBS NET will be a hassle free, friendly, exciting new Net.  It will have
  4999. it's own echoes, newsletters, and nodelists.  It will also, be a very
  5000. Democratic Net, in that the ZONE Coordinator (The guy in charge) will be
  5001. re-elected every 5 years, the NET & REGIONAL Coordinators will be re-
  5002. elected every 2 years (Local Net Heads and Regional Heads).  So if you
  5003. dislike a head coordinator "YOU" get a chance to vote on a new person.
  5004. On top of all this, there will be 5 people who will be more in charge
  5005. than the ZONE Coordinator just in case some people have big problems
  5006. with policies, echoes and such.
  5007.  
  5008. BBS NET will not in any form be trying to take over any other NET, but
  5009. in fact, will be taking the best of all the NETS and combining it into
  5010. "1" SOLID "HASSLE FREE" NETWORK!
  5011.  
  5012. If this sounds like YOUR type of National Network, or you would just
  5013. like to add another NET to your bbs system then send Netmail to
  5014. 137/13 or call 813-351-8483.
  5015.  
  5016.  
  5017.  
  5018. ---
  5019.  * Origin: Suncoast Data Exchange (813) 351-8654 BBS-Net 6/0 (Opus 1:137/13)
  5020.  
  5021.  
  5022. From:    Holger Schurig 
  5023. To:      Heikki Levanto                           Msg #198, 29-Jan-89 07:14pm
  5024. Subject: Init section of unit & include
  5025.  
  5026. Heikki writes in "Re: C versus PASCAL":
  5027.  
  5028. HL> BTW, I told of a small bug here, you can't put an init section of an
  5029. HL> unit into an include file.  Has that message disappeared, or don't you
  5030. HL> folks care ?
  5031.  
  5032. I answered to this. Not received ?
  5033.  
  5034. --- INFgate 0.10
  5035.  * Origin: INFSYS-Development : Matrix to 2:507/628 (2:507/6.0)
  5036.  
  5037.  
  5038. From:    Eef Hartman 
  5039. To:      Fabiano Fabris                           Msg #199, 29-Jan-89 12:22pm
  5040. Subject: Re: Files
  5041.  
  5042.  > How do you do this:
  5043.  >
  5044.  > ->In a message of <12 Jan 89 20:45:42>, Mark Hopkins (1:343/8.13)
  5045.  > writes:
  5046.  
  5047. This is done by a nifty little program, called MsgEd, which can be used by
  5048. SysOps and Points, sorry, not for "normal" human BBS callers 
  5049.  
  5050. ---
  5051.  * Origin: Robert's programmer board     tel 020 - 453903     (Opus 2:512/33)
  5052.  
  5053. *** This is a reply to #119.
  5054.  
  5055.  
  5056. From:    Ruud Janssen 
  5057. To:      All                                      Msg #200, 29-Jan-89 04:27pm
  5058. Subject: DOOLHOVEN.
  5059.  
  5060. Wie heeft er een programma dat doolhoven tekent op zowel het beeldscherm als
  5061. op een printer. Liefst geschreven in Turbo Pascal (3.0 of 4.0 of 5.0)
  5062.   
  5063. Groeten,
  5064.  
  5065. Ruud Janssen / TAM.
  5066. --- TBBS v2.0
  5067.  * Origin: INFOboard CD-rom's online (2,5 gigabyte) 04780-88119 (14 lijnen)
  5068. (500/206)
  5069.  
  5070.  
  5071. From:    Sebastian Shapiro 
  5072. To:      Wesley Williams                          Msg #201, 28-Jan-89 08:05am
  5073. Subject: record
  5074.  
  5075. OK. I forgot that...
  5076.  
  5077. Sebastian 
  5078.  
  5079. ---
  5080.  * Origin: Marselisborg BBS (Opus 2:231/59)
  5081.  
  5082.  
  5083. From:    Sebastian Shapiro 
  5084. To:      Joseph Dejesus                           Msg #202, 28-Jan-89 08:25am
  5085. Subject: Turbo BBS
  5086.  
  5087. There is a program called (ohhh Gosh) Turbo BBS...
  5088. If you can't find it on a BBS in your local area I will be glad to send you a
  5089. disk with the program, if you give me your address.
  5090.  
  5091. Sebastian Shapiro 
  5092.  
  5093. ---
  5094.  * Origin: Marselisborg BBS (Opus 2:231/59)
  5095.  
  5096.  
  5097. From:    Truls Meland 
  5098. To:      rich Myers                               Msg #203, 23-Jan-89 09:25pm
  5099. Subject: Re: Next TP version
  5100.  
  5101. How about this:
  5102. * The ability to compile, stop at error, let user correct error,
  5103.   continue compilation FROM ERROR, not from the top.
  5104.  
  5105. Truls
  5106.  
  5107. --- Via OpXpress V1.07ß "Silver"   *********** TEEM ***
  5108.  * Origin: Perleporten :     *****  OPUS BBS System Board (083)75442 *****
  5109.  
  5110. *** This is a reply to #94.
  5111.  
  5112.  
  5113. From:    Per Holm 
  5114. To:      Scott Hucke                              Msg #204, 29-Jan-89 05:09pm
  5115. Subject: string functions
  5116.  
  5117. Hello Scott,
  5118.  
  5119.  SH> i need a function to convert to uppercase and lower case for strings 
  5120.  
  5121. If you grap your manual there's a small piece of Assembler code for a function
  5122. that will convert a STRING to uppercase.
  5123.  
  5124. Here's some code picked out from the OpInt Interface:
  5125.  
  5126. File: Case.Asm
  5127.  
  5128.                ---CUT---
  5129.  
  5130. CODE    SEGMENT BYTE    PUBLIC
  5131.  
  5132.         ASSUME  CS:CODE
  5133.  
  5134.         PUBLIC  UpperCase, LowerCase        ;Make them known
  5135.  
  5136. ;---------UpperCase
  5137.  
  5138. ;function UpperCase(S:String) : String;
  5139. ;Convert String to UpperCase
  5140.  
  5141. UpperRes        EQU     DWORD PTR [BP+10]
  5142. UpperStr        EQU     DWORD PTR [BP+6]
  5143.  
  5144. UpperCase       PROC FAR
  5145.         PUSH    BP                      ;Save BP
  5146.         MOV     BP,SP                   ;Set up stack frame
  5147.         PUSH    DS                      ;Save DS
  5148.         LDS     SI,UpperStr             ;Load String address
  5149.         LES     DI,UpperRes             ;Load result address
  5150.         CLD                             ;Forward string-ops
  5151.         LODSB                           ;Load string length
  5152.         STOSB                           ;Copy to result
  5153.         MOV     CL,AL                   ;String length to CX
  5154.         XOR     CH,CH
  5155.         JCXZ    U3                      ;Skip if empty
  5156. U1:     LODSB                           ;Load charecter
  5157.         CMP     AL,'a'                  ;Skip if not 'a' to 'z'
  5158.         JB      U2
  5159.         CMP     AL,'z'
  5160.         JA      U2
  5161.         SUB     AL,'a'-'A'              ;Convert to uppercase
  5162. U2:     STOSB                           ;Store in result
  5163.         LOOP    U1                      ;Loop for all charecters
  5164. U3:     POP     DS                      ;Restore DS
  5165.         POP     BP                      ;Restore BP
  5166.         RET     4                       ;Remove parameter and return
  5167.  
  5168. UpperCase       ENDP
  5169.  
  5170. ;---------LowerCase
  5171.  
  5172. ;function LowerCase(S:String) : String;
  5173. ;Convert String to LoverCase
  5174.  
  5175. LowerCase       PROC FAR
  5176.         PUSH    BP                      ;Save BP
  5177.         MOV     BP,SP                   ;Set up stack frame
  5178.         PUSH    DS                      ;Save DS
  5179.         LDS     SI,UpperStr             ;Load String address
  5180.         LES     DI,UpperRes             ;Load result address
  5181.         CLD                             ;Forward string-ops
  5182.         LODSB                           ;Load string length
  5183.         STOSB                           ;Copy to result
  5184.         MOV     CL,AL                   ;String length to CX
  5185.         XOR     CH,CH
  5186.         JCXZ    L3                      ;Skip if empty
  5187. L1:     LODSB                           ;Load charecter
  5188.         CMP     AL,'A'                  ;Skip if not 'a' to 'z'
  5189.         JB      L2
  5190.         CMP     AL,'Z'
  5191.         JA      L2
  5192.         ADD     AL,'a'-'A'              ;Convert to lovercase
  5193. L2:     STOSB                           ;Store in result
  5194.         LOOP    L1                      ;Loop for all charecters
  5195. L3:     POP     DS                      ;Restore DS
  5196.         POP     BP                      ;Restore BP
  5197.         RET     4                       ;Remove parameter and return
  5198.  
  5199. LowerCase       ENDP
  5200.  
  5201. CODE    ENDS
  5202.  
  5203.         END
  5204.  
  5205.                ---CUT---
  5206.  
  5207. File: Test.Pas
  5208.  
  5209.                ---CUT---
  5210. {F+}
  5211. {$L Case.Obj}
  5212.  
  5213. Function Uppercase(S:String):String; External;
  5214. Function Lowercase(S:String):String; External;
  5215.  
  5216. {$F-}
  5217.  
  5218. BEGIN
  5219.   WriteLn(UpperCase('Testing This OpInt Function'));
  5220.   WriteLn(LowerCase('And This one Too'));
  5221. END.
  5222.  
  5223.               ---Cut---
  5224.  
  5225. Like the other examples these routines doesn't take the special european
  5226. letters like the danish. (AE, OE, AA, ae, oe & aa). This might easily be added
  5227. to the code if you need it.
  5228.  
  5229. Hope this might help you, the .ASM file should be compiled to an .OBJ file
  5230. with an Assembler.
  5231.  
  5232. Happy Programming.
  5233.  
  5234.     Per Holm.
  5235.  
  5236. --- ConfMail V3.31ph3
  5237.  * Origin: Asgaard BBS - Home of OpInt - +45-6-119043 (2:230/22)
  5238.  
  5239. *** This is a reply to #175.
  5240.  
  5241.  
  5242. From:    Mike Janke 
  5243. To:      Tony Hsieh                               Msg #205, 01-Feb-89 06:11am
  5244. Subject: Re: HELP ON THE WAY
  5245.  
  5246.  > The statement
  5247.  > IF READKEY=#0 then ;
  5248.  
  5249.  > the reason for the semi-colon immediately after the then is
  5250.  > so that it'll mean "do nothing."
  5251.  
  5252. Thank you.  After thinking about it, I can see where it would be useful at
  5253. times.
  5254.  
  5255. --- FD 2.00
  5256.  * Origin: Kendall BBS - Miami's First QuickBBS  (1:135/4)
  5257.  
  5258. *** Part of a conversation.
  5259.  
  5260.  
  5261. From:    Kevin Lowey 
  5262. To:      All                                      Msg #206, 30-Jan-89 04:35pm
  5263. Subject: Alternative to Turbo Technix
  5264.  
  5265. Hi, 
  5266.  
  5267.   I've seen a number of messages lamenting the demise of Turbo Technix. 
  5268. I thought you might be interested in an alternative. 
  5269.  
  5270.   The Turbo User's Group is a group for discussion of BORLAND 
  5271. programming products, including Pascal, C, Prolog, Basic and even Paradox
  5272. macros.  They publish a bimonthly newsletter.  It isn't as glossy as TT was,
  5273. but the articles ARE interesting.  They also distribute public domain and
  5274. shareware diskettes, and run their own multiuser BBS system for discussing
  5275. BORLAND products.  Finally, they also sponsor a yearly programming contest in
  5276. which the members of TUG are the judges. 
  5277.  
  5278.   They used to get free advertising from Borland in every product sold, 
  5279. but Borland (without warning) stopped including their prospectus.  So now they
  5280. are stuck with no way to let people know about them.  That's why I'm posting
  5281. this message.  I think they are a nonprofit organization, so I don't think I'm
  5282. breaking any Echomail rules.  If I am, please forgive me. 
  5283.  
  5284.   The yearly membership dues are $24 US in the US,  $28 US in Canada 
  5285. and Mexico, and $39 US overseas.  To join, send a letter to 
  5286.  
  5287.      Turbo User's Group (TUG) 
  5288.      P.O. Box 1510 
  5289.      Poulsbo, Washington USA 98370 
  5290.  
  5291. Include the following information: 
  5292.  
  5293.    Name, Company, Mailing Address, City, State/Province, Zip/Postal 
  5294. code, and Country.  You can pay by cheque, money order, Mastercard, or VISA
  5295. (include card number and expiry date). 
  5296.  
  5297.  
  5298. -- Kevin Lowey 
  5299.  
  5300.  
  5301. ---
  5302.  * Origin: University of Sask. Computing Services (Opus 1:140/43)
  5303.  
  5304.  
  5305. From:    Colten D. Edwards 
  5306. To:      Kevin Kwast @ 930/1                      Msg #207, 31-Jan-89 03:42am
  5307. Subject: Transfer Protocols
  5308.  
  5309. TPZSFZ or some such name (Zmodem Src) is available from 152/2 or 140/48 or
  5310. 161/205 at least. WxModem.ARC is avaiable from 140/48 and possibly others.
  5311. First time download priv or Freq 23 hrs a day 
  5312.  
  5313. --- ConfMail V4.00
  5314.  * Origin: Treasure Isle Private Mail System (1:140/51)
  5315.  
  5316. *** Part of a conversation.
  5317.  
  5318.  
  5319. From:    Colten D. Edwards 
  5320. To:      Tony Shelton                             Msg #208, 31-Jan-89 03:49am
  5321. Subject: .GIF
  5322.  
  5323. All you should have gotten with your upgrade is a Reference manual and a Users
  5324. guide. BTW if you don't want one of the Update manuals I would pay the
  5325. shipping to get it. Before anyone flames me though I do have a purchased copy
  5326. of TP5, but it would be nice to have a extra manual one for work and one for
  5327. home. Save some lugging of manuls. I called Borland and inquired but noway
  5328. don't sell the manuals alone...
  5329. Anyways send netmail if possible to 140/48 or 140/51 either way I'll get the
  5330. message or leave a message with a number where you might be reached and I'll
  5331. call you.... 
  5332.  
  5333. --- ConfMail V4.00
  5334.  * Origin: Treasure Isle Private Mail System (1:140/51)
  5335.  
  5336. *** This is a reply to #142.
  5337.  
  5338.  
  5339. From:    Colten D. Edwards 
  5340. To:      James Williams                           Msg #209, 31-Jan-89 03:50am
  5341. Subject: Setting typematic rate
  5342.  
  5343. Try KeySpeed from PCMag. Not sure of the issue # but it was a couple of years
  5344. ago now. Works fins with the AWARD bios might work with Phoneix. Might also be
  5345. called QuickKeys or something as well. Seems to me that the original version
  5346. had a slight bug where it would repeat a keystroke forever (Alt ### so not
  5347. very noticable). I could post it on a bbs if you can't find it locally 
  5348.  
  5349. --- ConfMail V4.00
  5350.  * Origin: Treasure Isle Private Mail System (1:140/51)
  5351.  
  5352. *** This is a reply to #48.
  5353.  
  5354.  
  5355. From:    Colten D. Edwards 
  5356. To:      Terry Gaudet                             Msg #210, 31-Jan-89 03:54am
  5357. Subject: Turbo Pascal 4 & 5
  5358.  
  5359. Tp5 would be the best bang for the buck... And is definitely worth the upgrade
  5360. moneys for the integrated debugger alone .. 
  5361.  
  5362. --- ConfMail V4.00
  5363.  * Origin: Treasure Isle Private Mail System (1:140/51)
  5364.  
  5365. *** Part of a conversation.
  5366.  
  5367.  
  5368. From:    Colten D. Edwards 
  5369. To:      Joerg Hegermann                          Msg #211, 31-Jan-89 04:00am
  5370. Subject: Units
  5371.  
  5372. If you like you could send some disk with return postage and I'll load em up
  5373. with all the TP stuff on my board and my dad's public board. If you like call
  5374. 1-306-384-0572 or 1:140/48 and get the files list just to see what's there.
  5375. Address is
  5376.  C/o Northern Nights BBS
  5377.      Colten Edwards
  5378.      543 Ave M North
  5379.      Saskatoon,SK
  5380.      Canada
  5381.      S7L-2S7
  5382. First time users have full download privelege and it's an Opus board
  5383. running Front Door as a front end. There's about 5megs of programming
  5384. utilities and units including most of the latest of the best. 
  5385.  
  5386. --- ConfMail V4.00
  5387.  * Origin: Treasure Isle Private Mail System (1:140/51)
  5388.  
  5389. *** This is a reply to #37.
  5390.  
  5391.  
  5392. From:    Marc Barnett 
  5393. To:      Dave Hess                                Msg #212, 29-Jan-89 01:01am
  5394. Subject: Help
  5395.  
  5396.  ->   I am trying to fiddle around with windows in Turbo Pascal..But I 
  5397.  ->can't seem to get them to work right!  When I put a window on the top 
  5398.  ->line of the screen...Then I want a different one on the bottom...I keep 
  5399.  ->getting them combined for some reason...Plus...Is there a limit to how 
  5400.  ->many windows that can be opened at one time?  And One more thing...I 
  5401.  ->want to make the window have a shadow behind it...Should I declare that 
  5402.  ->as the same window some how or make it totally a different one? I NEED 
  5403.  ->HELP PLEASE! PLEASE PLEASE!  I declared the top window something like 
  5404.  ->this...WINDOW(1,1,81,1) and the bottom I think Window(24,1,104,1)??? 
  5405.  ->What am I doing wrong?
  5406.  -> 
  5407.  ->                                                PLease Help Me!
  5408.  ->                                                        Dave Hess
  5409.  
  5410.   There are a number of window routines around .. but if you wish to make your
  5411. own shadow .. just declare a window TWO greater then you're display window in
  5412. both X2 and Y2 corners .. then write a black on black in the last column and
  5413. row. (If you only declare one greater it will scroll)
  5414.  
  5415.  If you are useing CGA .. you are WAY off the side .. but as I don't have EGA
  5416. and can't remember the exacts for it .. I don't know if it fits.
  5417.  
  5418.  
  5419.  
  5420. --- msged 1.96S ZTC
  5421.  * Origin: Exec ('AI.Exe'); {AI interface for ECHO} (1:105/601.1)
  5422.  
  5423. *** Part of a conversation.
  5424.  
  5425.  
  5426. From:    Ben Madison 
  5427. To:      Reinhardt Mueller                        Msg #213, 31-Jan-89 10:54pm
  5428. Subject: Re: Help
  5429.  
  5430. That's great advice, except I don't think the page numbers will be of much use
  5431. to good old Dave....  ;>
  5432. jbm
  5433.  
  5434.  
  5435. --- Opus-CBCS 1.10.vi
  5436.  * Origin: Crystal Palace  The Ghost in the Machine  (1:382/1.0)
  5437.  
  5438. *** This is a reply to #212.
  5439.  
  5440.  
  5441. From:    Ben Madison 
  5442. To:      Brian Matlock                            Msg #214, 31-Jan-89 10:51pm
  5443. Subject: PASCAL
  5444.  
  5445. I think you will probably find a few good ones, Brian...  this echo is
  5446. absolutely full of them!
  5447. How goes the Pacal?  
  5448. I am still working on my FOSSIL interface, and the stuff that was going along
  5449. with that, so if you're still interested let me know...
  5450. See ya'-
  5451. jbm
  5452.  
  5453.  
  5454. --- Opus-CBCS 1.10.vi
  5455.  * Origin: Crystal Palace  The Ghost in the Machine  (1:382/1.0)
  5456.  
  5457. *** Part of a conversation.
  5458.  
  5459.  
  5460. From:    Ben Madison 
  5461. To:      Andy Lester                              Msg #215, 01-Feb-89 09:03am
  5462. Subject: Hmph!
  5463.  
  5464. That sounded just like a 'Bah Humbug!' to me...!
  5465. &;>
  5466. jbm
  5467.  
  5468.  
  5469. ---
  5470.  * Origin: BEGGERS BOARD <-> *HST* (512)259-4896  (99:9100/6) (Opus 1:382/43)
  5471.  
  5472.  
  5473. From:    Ben Madison 
  5474. To:      Paul Lindquist                           Msg #216, 01-Feb-89 09:06am
  5475. Subject: Source to TPBoard 5.0
  5476.  
  5477. Um, yes, but do you know WHERE the source is available?  That info would make
  5478. us very happy people! :)
  5479. jbm
  5480.  
  5481.  
  5482. ---
  5483.  * Origin: BEGGERS BOARD <-> *HST* (512)259-4896  (99:9100/6) (Opus 1:382/43)
  5484.  
  5485.  
  5486. From:    Ray Sun 
  5487. To:      Brian Matlock                            Msg #217, 31-Jan-89 09:16pm
  5488. Subject: Re: PASCAL
  5489.  
  5490. Well, it's a pascal conference....
  5491.  
  5492. I'm a small scale Pascal programmer (See SPRT and QWIKBAT, my only
  5493. major developments...)
  5494.  
  5495. --- ConfMail V3.31
  5496.  * Origin: Athens IBM PC Users Group (1:370/16)
  5497.  
  5498. *** This is a reply to #214.
  5499.  
  5500.  
  5501. From:    Dan Gibson 
  5502. To:      Michelle Wyner                           Msg #218, 31-Jan-89 04:44am
  5503. Subject: Re: TP 5.0
  5504.  
  5505. -> I just got TP 5.0.  REAL great program, but the users
  5506. -> manual doesn't help much in learning Pascal.  I've read it
  5507. -> from front to back, and I know the basics, but I need to
  5508. -> know more.  Can anyone suggest a program (not the TP tutor
  5509. -> for $69.95) or a book (under $20.00 preferably) that'll
  5510. -> help me?  Thanks.
  5511.  
  5512.  
  5513. Without question, the BEST book on learning Turbo Pascal is "Mastering
  5514. Turbo Pascal 4.0" by Tom Swan...this is a Hayden book (a division of Howard
  5515. W. Sams Co. of Ind., Ind.).  I have a library of about 12 'tutors' on turbo
  5516. pascal 4.0 and 5.0 and this is book is THE one to have!
  5517.  
  5518.  
  5519. Dan
  5520. --- QuickBBS v2.03
  5521.  * Origin: Micro-Tech Solutions "OMMM's LAW" Quick/Bink/HST Orl, Fla.
  5522. (1:18/502)
  5523.  
  5524. *** This is a reply to #182.
  5525.  
  5526.  
  5527. From:    Dale Barnes 
  5528. To:      Andy Lester                              Msg #219, 31-Jan-88 03:08pm
  5529. Subject: Re: Turbo DataBase Toolbox
  5530.  
  5531. -> --> TP> terminated by altering the termination value INSIDE
  5532. -> -->the for loop. This
  5533. -> --> TP> worked fine in TP3, but not in TP4 and TP5 (ref. TP4
  5534. -> -->Manual pg. 261 and
  5535. -> --> TP> TP5 Manual pg. 79). So watch out.
  5536.  
  5537. Which version of the database toolbox was this error found and
  5538.  where in what file was this found?  Thanks in advance for the
  5539. info.
  5540.  
  5541.  
  5542.                                                 Dale
  5543. --- QuickBBS v2.03
  5544.  * Origin: Home of Majik Board(tm) (HST) Shalimar, FL (NEC 366) (1:366/200)
  5545.  
  5546. *** This is a reply to #115.
  5547.  
  5548.  
  5549. From:    Dale Barnes 
  5550. To:      Andy Lester                              Msg #220, 31-Jan-88 03:09pm
  5551. Subject: Re: Decompiling
  5552.  
  5553. -> --> SH> How do you get a program that has been compiled to
  5554. -> -->disk into an .EXE
  5555. -> --> SH> program....decompiled back into a .PAS type format???
  5556. -> -->
  5557. -> -->You can't.  It doesn't work that way.
  5558.  
  5559. Can you imagine what would happen if we could take a EXE and then
  5560. convert it back to the source?  Bad things and alot more poor programmers!
  5561.  
  5562.                                                 Dale
  5563. --- QuickBBS v2.03
  5564.  * Origin: Home of Majik Board(tm) (HST) Shalimar, FL (NEC 366) (1:366/200)
  5565.  
  5566. *** Part of a conversation.
  5567.  
  5568.  
  5569. From:    Jon Guthrie 
  5570. To:      Mark Farnan                              Msg #221, 02-Feb-89 06:40am
  5571. Subject: Re: Setting Typematic Rate (TP4 or TP5)
  5572.  
  5573.  JG>Your first mistake was to use Norton.  (His information is never
  5574.  JG>complete and is often wrong.)
  5575.  
  5576.  MF> Incomplete i'd agre with, never found it wrong though.  I use The 
  5577.  MF> Programmers PC SourceBook, by Thom Hogan,  for most of my 
  5578.  MF> Reference.  But Nortons comes into use occasionally. 
  5579.  
  5580. Well, his information on the 8253 timer IC _IS_ wrong.  In case you
  5581. came in late, the 8253 handles, among other things, the clock interrupt
  5582. timer and is instrumental for DRAM refresh.  Try setting the interrupt
  5583. rate using the info given in Norton, and nothing happens.
  5584.  
  5585. --- Via OpXpress V1.06ß "Silver"  SCIGUY -  The Scourge of Delphi!
  5586.  * Origin: FOG-LINE;FOG#51;USR HST;515-964-7937 (1:14/627)
  5587.  
  5588. *** This is a reply to #166.
  5589.  
  5590.  
  5591. From:    Phil Barnes 
  5592. To:      Paul Lindquist                           Msg #222, 01-Feb-89 08:29pm
  5593. Subject: Re: BBS
  5594.  
  5595.  > TP Board version 5.0 is the latest BBS written in Turbo Pascal.
  5596.  > Source Code is available for the board.
  5597.  
  5598. No, the source is NOT available-- I called the author's board (and talked to
  5599. him) and he said it is NOT available anymore.
  5600.  
  5601. Phil..
  5602.  
  5603. --- FD 2.00
  5604.  * Origin: The Fortress! Running Turbo(Pascal) Quick(BBS) - (1:286/704)
  5605.  
  5606. *** This is a reply to #153.
  5607.  
  5608.  
  5609. From:    Phil Barnes 
  5610. To:      Neil Sharma                              Msg #223, 01-Feb-89 08:44pm
  5611. Subject: tpboard 5.0
  5612.  
  5613.  >  I am looking for the source to Tpboard 5.0 does anyone know where i
  5614.  > can find it?? thanks!!! The reason i need it is cuz i run a bbs using
  5615.  > Tpboard (a pascal bbs) and have been unable to find it. Thanks for any
  5616.  > help!!
  5617.  
  5618. You can F'REQ it here under TPB5*.* -- 3 _BIG_ files.  Or call 417/649-7761.
  5619.  
  5620. Phil..
  5621.  
  5622. --- FD 2.00
  5623.  * Origin: The Fortress! Running Turbo(Pascal) Quick(BBS) - (1:286/704)
  5624.  
  5625. *** This is a reply to #84.
  5626.  
  5627.  
  5628. From:    Dave Goggin 
  5629. To:      Soloman Blue                             Msg #224, 02-Feb-89 01:23pm
  5630. Subject: Re: PASCAL SUCKS
  5631.  
  5632. Soloman, I agree.  All things considered I think that there may have been a
  5633. 'hack.'  Why would someone leave their phone number on such a message, since
  5634. not many want to stir up trouble, especially on their own phones.  hey,
  5635. where's the moderator?
  5636. --- TBBS v2.0
  5637.  * Origin: G.A.D.M. Multi-User TBBS Hayward,CA.(415) 581-3019  (161/208)
  5638.  
  5639. *** Part of a conversation.
  5640.  
  5641.  
  5642. From:    Charles Falconer 
  5643. To:      Andy Lester                              Msg #225, 31-Jan-89 06:31pm
  5644. Subject: Re: Various Pascal Implementations
  5645.  
  5646.  >  CF> The program header line is not a frill, but specifies
  5647.  >  CF> what files are external to the program. Files declared
  5648.  >  CF> that are NOT listed in the header should be purely
  5649.  >  CF> header should be purely internal, thus temporary,
  5650.  >  CF> internal, thus temporary, and go away at program exit
  5651.  >  CF> (unless the temporaryness is specifically overridden,
  5652.  >  CF> e.g. with an assign statement, or equivalent).
  5653.  >
  5654.  > Yes, they are a frill.  They're ignored by Turbo.  I'm
  5655.  > just not sure what you  mean when you say "internal" and
  5656.  
  5657. But the fact that turbo ignores them does not affect their validity for other
  5658. systems, if nothing else as a documentation aid.  The header shows just what
  5659. is needed, although nothing says that information from those sources cannot
  5660. specify further data, such as include files.  The files listed in the header
  5661. are really parameters to the program.
  5662. The fact of listing them there says they are real live external entities. A
  5663. local file may be a scratch file, for example to hold compiler tables between
  5664. passes, or intermediate passes of a mergesort, etc.  The fact that MSDOS
  5665. usually requires a name is system specific, and 3.0 up (I think, but certainly
  5666. 3.3 up) have specific provisions for creating temporary files.  If you are
  5667. running on a multiprocessing system this is needed, otherwise two programs may
  5668. create the same named scratch file with all sorts of havoc.  This would apply
  5669. to multiple DOS sessions in a 386 machine, because the file system is common. 
  5670. An internal file can be used to replace memory if desired, and if the
  5671. implementation puts it on disk or extended memory or whatever hs no effect on
  5672. the meaning and accuracy of the program (although the speed and utility can be
  5673. violently affected).  A Pascal file is an abstraction, and the standard file
  5674. mechanisms deal with that abstraction.  An implemention embodies the
  5675. abstraction in a physical file.
  5676.  
  5677. Looking back, at least I know what I mean, but the clarity leaves something to
  5678. be desired.  Oh well.
  5679.  
  5680.  
  5681. ---
  5682.  * Origin: Alice's Restaurant (Opus 1:141/488)
  5683.  
  5684. *** This is a reply to #123.
  5685.  
  5686.  
  5687. From:    Christopher Browne 
  5688. To:      pascalians                               Msg #226, 01-Feb-89 01:11pm
  5689. Subject: generic code
  5690.  
  5691. Is there a bbs or somebody that has a wealth of generic BIOS related code? 
  5692.  
  5693. I will gladly send a disk or call a bbs to download.
  5694.  
  5695. Chris
  5696.  
  5697. --- msged 1.97S ZTC
  5698.  * Origin: while cool(user) do begin The_Web!; end {while}; (1:141/735)
  5699.  
  5700.  
  5701. From:    Roland Brown 
  5702. To:      Bruce Mahoney                            Msg #227, 02-Feb-89 03:19pm
  5703. Subject: Re: TUG Subscription
  5704.  
  5705.  > Can you or anyone give info about subscribing to TUG?
  5706.  >   Thanks..
  5707.  >
  5708.  >
  5709.  
  5710. Sure.  The address is:
  5711.  
  5712. Turbo Users Group
  5713. P.O. Box 1510
  5714. Poulsbo, WA  98370
  5715.  
  5716. The cost is 24 dollars per year (USA) and 28 per year (outside USA).
  5717.  
  5718. It is a good magazine with good utility disks.  I'm letting my subscription
  5719. lapse, however because I've just got to cut back on some of the things I
  5720. subscribe to.
  5721.  
  5722. roland 
  5723.  
  5724. ---
  5725.  * Origin: Sky Pilot Point Mail Box Off 261/1004 (Opus 1:26102/4)
  5726.  
  5727. *** This is a reply to #178.
  5728.  
  5729.  
  5730. From:    Roland Brown 
  5731. To:      Gilles Simard                            Msg #228, 02-Feb-89 03:22pm
  5732. Subject: Re: Graphics in Hercules mode
  5733.  
  5734.  > I use TP 3.0 and i begin to use TP 5.0 ( but i don't have
  5735.  > the do-
  5736.  > cumentation right now ).  Thank for the response.
  5737.  > GAG
  5738.  
  5739. When you get the documentation (i.e. buy a copy) all will be clear!!
  5740.  
  5741. roland 
  5742.  
  5743. ---
  5744.  * Origin: Sky Pilot Point Mail Box Off 261/1004 (Opus 1:26102/4)
  5745.  
  5746.  
  5747. From:    Roland Brown 
  5748. To:      Neil Heller                              Msg #229, 02-Feb-89 03:25pm
  5749. Subject: Re: Where'S The Path?
  5750.  
  5751.  >      I  have  a  question  -  can  anyone  help  me?  I
  5752.  > am writting an
  5753.  > application in which I need to take the path, as it stood
  5754.  > prior to  my
  5755.  > entrance into the application, place  it in a program variable,
  5756.  >  set a
  5757.  > new  path  and  then  restore  the  original  path  upon
  5758.  > exit from the
  5759.  
  5760. Okay - this isn't real clear to me.  What you want is the path that exists
  5761. when your program begins??  Or do you want the path that your program is in? 
  5762. If you want the first just make sure the first thing you do is call the
  5763. function to give you the Current Directory and save it some where in your
  5764. program (GetDir and specify default drive).  If you want the path your program
  5765. was called from (i.e. that it resides in) Param 0 is where that is, but you'll
  5766. need to strip off your program name to have just the path.  One BIG caution -
  5767. if you are using DOS 3.x or more the Param 0 is correct, but anything less and
  5768. DOS strips the path\progname and you don't got it.
  5769.  
  5770. At least this all works in C and I would hope they implemented same in Turbo
  5771. Pascal
  5772.  
  5773.  
  5774. roland 
  5775.  
  5776. ---
  5777.  * Origin: Sky Pilot Point Mail Box Off 261/1004 (Opus 1:26102/4)
  5778.  
  5779. *** This is a reply to #144.
  5780.  
  5781.  
  5782. From:    David Dutton 
  5783. To:      Scott Hudnall                            Msg #230, 30-Jan-89 11:14am
  5784. Subject: Decompiling
  5785.  
  5786. In a message of <26 Jan 89 13:27:50>, Scott Hudnall (1:124/3207) writes:
  5787.  
  5788.  ->How do you get a program that has been compiled to disk into an .EXE 
  5789.  ->program....decompiled back into a .PAS type format???
  5790.  
  5791.        Sounds like an impossiblity. From the .EXE to plain assembler is done
  5792. by several disassembling programs but I doubt that .EXE to .PAS has been done.
  5793. What would really be useful would be .TPU to .pas therefore allowing
  5794. recompiling without the original code. 
  5795.  
  5796. David
  5797.  
  5798. --- msged 1.97S ZTC
  5799.  * Origin: The Stop Point  (FidoNet 3:712/504.2)
  5800.  
  5801. *** This is a reply to #220.
  5802.  
  5803.  
  5804. From:    David Dutton 
  5805. To:      Kevin Kwast @ 930/1                      Msg #231, 01-Feb-89 04:16pm
  5806. Subject: Transfer Protocols
  5807.  
  5808.  
  5809.  ->I am using Turbo Pascal 4.0 on a PC-AT clone.  I need the TP4 source
  5810.  ->for file transfer protocols, and the format used to pass control from a
  5811.  ->host BBS to a door..
  5812.  -> 
  5813.  ->Someone back in mgssage 149 asked for the transfer protocols, and
  5814.  ->nobody ever answered..  does anyone know whre they are available?
  5815.  ->
  5816.  
  5817.        It may have been me but never quote message numbers because they differ
  5818. between systems. I have got SEALink and Zmodem so far but Zmodem is unusable
  5819. because it requires some other package called PIBASYN45 and I have no idea
  5820. what that is. What I really need though is FOSSIL supporting protocols but
  5821. can't be picky. I'll inform you of anymore I get. If you want to get the
  5822. others long disance, like real long distance then call here, Australia. The
  5823. files are TPZSFZ.ARC and SEALINK.ARC. You can file request them if you like at
  5824. 3:711/414 or call at +61-02-411-7642. 
  5825.        Another option is to buy Protocol Engine from Joaquim Homrighausen. His
  5826. netmail address should be 1:135/20.1  otherwise he reads this conference.
  5827.  
  5828.  
  5829. David
  5830.  
  5831. --- msged 1.97S ZTC
  5832.  * Origin: The Stop Point  (FidoNet 3:712/504.2)
  5833.  
  5834. *** This is a reply to #207.
  5835.  
  5836.  
  5837. From:    Martin Mcneese 
  5838. To:      Don Chick                                Msg #232, 30-Jan-89 07:39pm
  5839. Subject: Re: ACCESS
  5840.  
  5841. Don, not only am i interested in programming but am a programmer.
  5842. Mostly in QuickBasic 4.5 ...
  5843. --- TBBS v2.0
  5844.  * Origin: The Coop - Striving for Exellence (501)273-9257  (7101/6)
  5845.  
  5846. *** There is a reply. See #233.
  5847.  
  5848.  
  5849. From:    Don Chick 
  5850. To:      Martin Mcneese                           Msg #233, 30-Jan-89 08:32pm
  5851. Subject: Re: ACCESS
  5852.  
  5853. Do you do anything in Pascal or C?  Are you interested in either of those two
  5854. languages?
  5855. --- TBBS v2.0
  5856.  * Origin: The Coop - Striving for Exellence (501)273-9257  (7101/6)
  5857.  
  5858. *** This is a reply to #232.
  5859.  
  5860.  
  5861. From:    Bruce Vander Werf 
  5862. To:      Terry Gaudet                             Msg #234, 01-Feb-89 11:07am
  5863. Subject: TURBO PASCAL 4 & 5
  5864.  
  5865. IF you are going to spend the money to upgrade your copy of Turbo Pascal, you
  5866. should definitely buy the newest version, which is 5.0.  The biggest advantage
  5867. over 4.0 is the integrated debugger, which will be real helpful, especially if
  5868. you are new to programming.
  5869. --- TBBS v2.0
  5870.  * Origin: <P><C> <I>ndiana - Computer Club - 9600 HST - 219-875-6430 
  5871. (11/205)
  5872.  
  5873. *** This is a reply to #210.
  5874.  
  5875.  
  5876. From:    Dale Barnes 
  5877. To:      Soloman Blue                             Msg #235, 01-Feb-88 08:22am
  5878. Subject: Re: Pascal Sucks
  5879.  
  5880. -> -->Also it is a 'hack' of sorts.  Someone got a hold of Mr.
  5881. -> -->Jiang's password and proceeded to spread the word, so to
  5882. -> -->speak.  I don't think Howard gets to these parts so that's
  5883. -> -->why I am acting in his defense.
  5884.  
  5885. Since it is in a national echo he (they) would not have to get to this
  5886. area.  It would be sent thru out the nation without trouble.
  5887.  
  5888.                                                 Dale
  5889. --- QuickBBS v2.03
  5890.  * Origin: Home of Majik Board(tm) (HST) Shalimar, FL (NEC 366) (1:366/200)
  5891.  
  5892. *** This is a reply to #224.
  5893.  
  5894.  
  5895. From:    Kevin Lowey 
  5896. To:      Mike Janke                               Msg #236, 31-Jan-89 08:45am
  5897. Subject: Re: Help On The Way
  5898.  
  5899.  
  5900.  
  5901.  MJ> >   WHILE KeyPressed DO IF ReadKey = #0 Then ; 
  5902.  MJ> 
  5903.  MJ>Can you explain the Then without anything following it?  I first 
  5904.  MJ>saw that in a example in the Turbo Pro manual and thought it 
  5905.  MJ>was a misprint... but the darn thing worked. 
  5906.  
  5907.  
  5908.   This statement is used to clear the keyboard buffer.  All you want to 
  5909. do is read keystrokes until there are none left.  It could have been written 
  5910.  
  5911.       While keypressed do 
  5912.         ch := readkey; 
  5913.  
  5914. but this requires that you define your own variable (ch).  Instead, you can
  5915. say 
  5916.  
  5917.        While keypressed do 
  5918.           if readkey = ' ' then begin end;  { or just then;} 
  5919.  
  5920. The IF is misleading.  All you want to do is the READKEY. However, you have to
  5921. do something with the value returned by READKEY. The easiest thing is to use
  5922. it in the condition of an IF statement.  Just compare it so some value (the
  5923. value doesn't really matter). You don't really want to DO anything if the
  5924. condition is true, so the THEN part has nothing in it.   
  5925.  
  5926. -- Kevin Lowey 
  5927.  
  5928.   
  5929.  
  5930. ---
  5931.  * Origin: University of Sask. Computing Services (Opus 1:140/43)
  5932.  
  5933. *** This is a reply to #205.
  5934.  
  5935.  
  5936. From:    Steve Enns 
  5937. To:      All                                      Msg #237, 31-Jan-89 03:42pm
  5938. Subject: Small TP TSR
  5939.  
  5940. I want to write a small TSR to read/write graphics screens
  5941. on the touch of a hot key.
  5942. I've looked at TESS-P.ARC and STAY50.ARC, but both seem to
  5943. do much more  (and take up much more memory) than what I want.
  5944. As far as I know (which is not very far...) In outline, all I need is to
  5945. install a keyboard interrupt to execute a small procedure
  5946.  upon receipt of a hot-key, and end the program with TP's KEEP command...
  5947.     Anybody have some nice explicit (simple!) TSR examples in
  5948. Turbo TP 5 which would fill in the details ??
  5949.    S.E.
  5950.  
  5951.  
  5952. ---
  5953.  * Origin: XEROX Service Centre, Sask. (306) 652-8088 (Opus 1:140/33)
  5954.  
  5955.  
  5956. From:    Mike Hinds 
  5957. To:      Jesper Wolf                              Msg #238, 30-Jan-89 12:19pm
  5958. Subject: TESSERACT
  5959.  
  5960. Compuserve has a file that includes TP5 units for Tesseract.
  5961.  
  5962.  
  5963. --- msged 1.96L MSC
  5964.  * Origin: /\/\ Turbo NorthWest \-\ Everett, Washington  (1:343/27.2)
  5965.  
  5966. *** Part of a conversation.
  5967.  
  5968.  
  5969. From:    Mike Hinds 
  5970. To:      Rolan Yang                               Msg #239, 01-Feb-89 12:05pm
  5971. Subject: VIRUS
  5972.  
  5973. What a wonderful virus you've created. That's real funny. What about the poor 
  5974. user who doesn't know it's a joke and reformats his hard disk after only 
  5975. three tries to recover? Lost hours of work, lost data, lost sanity, and all 
  5976. because you were bored.
  5977.  
  5978. Please, if we can't put our energies to worthwhile creations, LOG OFF!
  5979.  
  5980.  
  5981.  
  5982. --- msged 1.96L MSC
  5983.  * Origin: /\/\ Turbo NorthWest \-\ Everett, Washington  (1:343/27.2)
  5984.  
  5985. *** This is a reply to #188.
  5986.  
  5987.  
  5988. From:    Reinhardt Mueller 
  5989. To:      Holger Schurig                           Msg #240, 01-Feb-89 02:03pm
  5990. Subject: Re: C versus PASCAL
  5991.  
  5992. -> Borland has become the same illness as the rest of the
  5993. -> pc-world: getting to big (because of using high-
  5994. -> level-language code) and too slow (same reason).
  5995.  
  5996. Hi, Holger,
  5997.  
  5998. In case you're not aware, Turbo Pascal 5.0 is written in assembly
  5999. language, which can hardly be considered high-level. As for size,
  6000. adding the debugger contributed to the increase in size from 4.0
  6001. to 5.0. Most serious programmers, even some hobbyists, have a
  6002. hard disk or want one. Borland could have given us more memory by
  6003. using overlays in the integrated environment. Functions like
  6004. viewing the directory and setting options are not used that
  6005. often, and would be candidates. Every byte of memory saved helps,
  6006. especially when debugging big programs while using TSR's like
  6007. SuperKey and Sidekick. What about floppy disk users? Give them a
  6008. non-overlaid version. Or let the overlaid version load all of
  6009. itself into memory at start time. Just because users have lots of
  6010. memory (or more than they used to in the past) is no reason to
  6011. create memory-hog programs and big-time software developers
  6012. should try to remember that.
  6013.  
  6014. Reinhardt
  6015.  
  6016. --- ConfMail V4.00
  6017.  * Origin: LSO II * Everett WA * 206/334-7039 * HST (1:344/100)
  6018.  
  6019. *** This is a reply to #86.
  6020.  
  6021.  
  6022. From:    Reinhardt Mueller 
  6023. To:      Paul Lindquist                           Msg #241, 01-Feb-89 03:49pm
  6024. Subject: Re: Pascal S***s
  6025.  
  6026. When I finished reading your reply to the guy who hates Pascal, I
  6027. thought "Boy, I'd like to see that guy if or when he tries to
  6028. interface interpreted BASIC to a yet-to-be-debugged machine-
  6029. language subroutine!"  That's another thing that's easier to do
  6030. with QuickBASIC and Turbo Pascal 'cause both let you use .OBJ
  6031. files.
  6032.  
  6033. Your reply to the guy was a lot better than mine was, and I
  6034. applaud you for maintaining your composure.
  6035.  
  6036. --- ConfMail V4.00
  6037.  * Origin: LSO II * Everett WA * 206/334-7039 * HST (1:344/100)
  6038.  
  6039.  
  6040. From:    Reinhardt Mueller 
  6041. To:      Tim Geisweit                             Msg #242, 01-Feb-89 06:12am
  6042. Subject: Re: goto's
  6043.  
  6044. -> JO refers to Joe O'leary, so why are you telling me this?
  6045.  
  6046. The message was aimed at you. You're right. JO refers to Joe
  6047. O'leary. I *meant* to quote him 'cause he was giving you some
  6048. advice and I thought I'd put my two cents worth in. If I hadn't
  6049. quoted him, anyone else reading the message would think those
  6050. were your words instead of someone else's. If you still have that
  6051. old message, I believe that I said "Obviously, Joe O'leary likes
  6052. it".  I didn't say "you".  Maybe you missed it.  If you didn't,
  6053. I'm sorry that it wasn't clear.
  6054.  
  6055. I learned a day later in your reply to Joe that he replied to the
  6056. wrong person. It turns out I've done the same thing. Blame it on
  6057. echomail delay and on the fact that I never saw the original
  6058. message.
  6059.  
  6060. --- ConfMail V4.00
  6061.  * Origin: LSO II * Everett WA * 206/334-7039 * HST (1:344/100)
  6062.  
  6063. *** This is a reply to #65.
  6064.  
  6065.  
  6066. From:    Reinhardt Mueller 
  6067. To:      Andy Lester                              Msg #243, 01-Feb-89 11:26am
  6068. Subject: Re: GOTOs
  6069.  
  6070. ->function at(x,y:integer):char;
  6071. ->{stuff to place the cursor, and return a null}
  6072. ->begin
  6073. ->GotoXY(x,y); {This isn't exactly how it is, but this is the Turbo equiv}
  6074. ->at:=#0;
  6075. ->end;
  6076.  
  6077. ->write(at(00,00),'Program name & stuff',
  6078. ->      at(00,02),'This is this and blah blah',
  6079. ->      at(00,05),'This is more stuff');
  6080.  
  6081. ->Stuff like that.  We use that structure all the time.
  6082.  
  6083. ->We had to rewrite all of those as:
  6084. ->write(at(00,00),'Program name & stuff');
  6085. ->write(at(00,02),'This is more stuff');
  6086. ->etc.
  6087.  
  6088. Andy, you'd better try that again. You're a notch off with the AT
  6089. function in Turbo. If you want to print something starting
  6090. (example) in the 40th screen column with your method, your text
  6091. is actually starting in the 41st column. That AT function is
  6092. putting a space in column 40! Maybe you haven't noticed.
  6093.  
  6094. Try this (Turbo) and tell me what you get:
  6095.  
  6096.   WRITELN ('Madman ',#0,#0,#0,#0,#0,#0,#0,'Moskowitz');
  6097.  
  6098. This should make it obvious.
  6099.  
  6100. Yes, the equivalent program in UCSD will only put one space
  6101. between Madman and Moskowitz. Sending nulls to the screen using
  6102. WRITE or WRITELN doesn't move the cursor in UCSD, but it does in
  6103. Turbo! Soon you'll have to do it right, if messy, by using
  6104. separate GOTOXY and WRITE statements, or write a WRITE_AT
  6105. procedure
  6106.  
  6107. PROCEDURE WRITE_AT (X,Y:INTEGER; MSG:STRING);
  6108.  
  6109. BEGIN
  6110.   GOTOXY (X,Y);
  6111.   WRITE (MSG);
  6112. END;
  6113.  
  6114. I realize I may have told you something you already know, but I
  6115. want to be sure that other readers are aware of this.
  6116.  
  6117. --- ConfMail V4.00
  6118.  * Origin: LSO II * Everett WA * 206/334-7039 * HST (1:344/100)
  6119.  
  6120. *** This is a reply to #117.
  6121.  
  6122.  
  6123. From:    Reinhardt Mueller 
  6124. To:      Andy Lester                              Msg #244, 01-Feb-89 07:07am
  6125. Subject: Re: Apple Pascal 1.3 CLOSE problems
  6126.  
  6127. AL> RM>  ->reset(fl,filename);
  6128. AL> RM>  ->for i:=1 to 10 do
  6129. AL> RM>  ->  begin
  6130. AL> RM>  ->  pack_record(fl^);
  6131. AL> RM>  ->  put(fl);
  6132. AL> RM>  ->  end;
  6133. AL> RM>  ->close(fl);
  6134.  
  6135. AL> Yes, {$I-} is in force. We check IORESULT ourselves rather
  6136. AL> than having Apple Pascal crash. Admittedly, I neglected to
  6137. AL> show the procedure call to our IORES routine which checks
  6138. AL> IORESULT and sets a string and flag. The problem is that
  6139. AL> Pascal isn't returning the error, not that we're not checking
  6140. AL> for it.
  6141.  
  6142. Whaddya mean "procedure call"? In that little sample code
  6143. fragment, there should be 3 calls to your IORES routine. You test
  6144. after EVERY I/O operation. Don't forget that any WRITE's that go
  6145. to the screen ALSO change IORESULT! That's another reason to
  6146. assign IORESULT to a variable before testing it. I may be
  6147. nit-picking, but
  6148.  
  6149. AL> RM> Test the variable (or
  6150. AL> RM> print it out), not IORESULT! Any access of the IORESULT
  6151. AL> RM> immediately sets it to zero. Use it only once per IO operation.
  6152. AL>
  6153. AL>Yeah, that IS a fun bug quirk of it, isn't it?
  6154.  
  6155. That's no quirk. It's supposed to work that way. Turbo does it
  6156. that way too. That way, if you always check it, you're always
  6157. starting out with a clean slate.
  6158.  
  6159. AL> Admittedly, I don't have a debugger to step through it (I
  6160. AL> don't think one exists for Apple Pascal, and if it does,
  6161. AL> somebody please tell me about it), but it seems the only
  6162. AL> possible way.
  6163.  
  6164. I guess you're stuck with using WRITELN statements to trace
  6165. through your program. There is a debugger for the MS-DOS hosted
  6166. p-System, but it's way more trouble than it's worth.  We never
  6167. used it
  6168. If you get Turbo Pascal v5.0 and Turbo Assembler/Debugger v1.0
  6169. (collectively known as Turbo Pascal Professional v5.0) you will
  6170. have a *good* debugger for the IBM version of your program.
  6171.  
  6172.  ->The other thing that we discovered is that it IS necessary to check
  6173.  ->IORESULT   after a SEEK operation.  We used to think that a SEEK would
  6174.  ->only set Pascal's   internal memory file pointer.  Wrongo.  If the SEEK
  6175.  ->points to a record that   lies in a different block on the disk than
  6176.  ->what's in the buffer, it writes out   the current block.  If that fails,
  6177.  ->it can return an IORESULT <>0.
  6178.  ->This last week has been raaaather enlightening... :-)
  6179.  
  6180. Makes sense to me!
  6181. Check it after doing GET's and PUT's too to be safe.
  6182.  
  6183. Reinhardt
  6184.  
  6185. --- ConfMail V4.00
  6186.  * Origin: LSO II * Everett WA * 206/334-7039 * HST (1:344/100)
  6187.  
  6188. *** This is a reply to #122.
  6189.  
  6190.  
  6191. From:    Reinhardt Mueller 
  6192. To:      Andy Lester                              Msg #245, 01-Feb-89 08:05am
  6193. Subject: Re: A Little Problem
  6194.  
  6195. AL> RM> First of all, your screen coordinates in the turbo start at 1. In
  6196. AL> RM> p-System they start at 0. You have one more screen line to play
  6197. AL> RM> with on the IBM.
  6198.  
  6199. AL> We know, and it's an annoyance, but not a real problem.
  6200.  
  6201. AL> RM> You have the names of the screen-handling
  6202. AL> RM> procedures to deal with too. If your program uses the Apple's
  6203. AL> RM> arrow keys you'll have to account for that too. Your users won't
  6204. AL> RM> appreciate having to use Ctrl key combinations! <<grin>>
  6205. AL>
  6206. AL> All of our input is done thru a handful of standard procedures:
  6207. AL>  GetChar, GetNum, WaitForCR, YesNo.  That's it.
  6208. AL> Since we have those converted, keyboard I/O isn't a problem.
  6209.  
  6210. Did you remember that some keys (ex. function keys) return two
  6211. characters when pressed?
  6212.  
  6213. AL>I've mentioned this a few months ago, but these are equivalent:
  6214. AL>UCSD:
  6215. AL>var
  6216. AL>  flags : packed array[0..7] of boolean;
  6217. AL>
  6218. AL>Turbo
  6219. AL>var
  6220. AL>  flags : set of [0..7];
  6221. AL>
  6222. AL>In memory, I don't care what the internal representation is,
  6223. AL>but on disk it can cause problems.
  6224.  
  6225. I know. <<groan>> I'll have to actually have to deal with the
  6226. disk part of it! What a pain!
  6227.  
  6228. AL> Always nice to see someone who understands where I'm coming
  6229. AL> from, though. I'd really like to write a UCSD-Turbo
  6230. AL> compatibility unit, but management isn't really keen on the
  6231. AL> PCs yet, so it's on the back burner....
  6232.  
  6233. Boy, do I ever understand!
  6234.  
  6235. One project we're worked on contains (on the IBM side) 5 360K disks
  6236. of source code, another has 6, and another has 5. That's the result
  6237. of porting a program from a screwball Z80 p-system to the IBM
  6238. p-System. The company that originally wrote the code bought the
  6239. source for the p-System and introduced its own changes. A few being
  6240. a virtual segment swapping scheme (seems that a program using 7
  6241. units wasn't enough for them -- one program has about 30 units!),
  6242. and a program-chaining system. Because of that virtual segment
  6243. scheme, you had to be careful about byte alignment, not to mention
  6244. put up with a LOT of disk swapping at run time! Their compiler had
  6245. built-in procedures (and not through units) for manipulating the
  6246. comm ports. The biggest headache for us was that their compiler
  6247. automatically initialized any uninitialized variables to null!
  6248.  
  6249. Now we're converting all that stuff to Turbo and I'll be facing
  6250. some of the same problems you're facing. Too bad you're not already
  6251. using UCSD Pascal on the IBM!  At least you wouldn't be stuff with
  6252. lousy 300 lines-per-minute compiles! On a PC I get 800
  6253. lines/minute.  Triple that for a 6 MHz AT!  Great with a hard disk!
  6254.  
  6255. If you want to write that unit and you have access to a PC and some
  6256. spare time, go ahead and do it on your own. If they don't come
  6257. around, you can make it PD upload the unit to a BBS, and if they do
  6258. switch you'll have saved them some time.
  6259.  
  6260. --- ConfMail V4.00
  6261.  * Origin: LSO II * Everett WA * 206/334-7039 * HST (1:344/100)
  6262.  
  6263. *** This is a reply to #128.
  6264.  
  6265.  
  6266. From:    Lee Hamel 
  6267. To:      All                                      Msg #246, 01-Feb-89 09:10am
  6268. Subject: Turbo 3.0
  6269.  
  6270. When you compile a COM file in TP 3.0, no matter what the size of the code is
  6271. (I mean small, like 5 lines) it always ends up at least 10k in size. Is there
  6272. any way to change this? This doesn't
  6273. seem right... should compile to 1k or so..
  6274.  
  6275.  
  6276. --- Lynx v1.22
  6277.  * Origin: Insomniac's Paradise -=- (503) 761-3003 (1:105/69)
  6278.  
  6279. *** There is a reply. See #247.
  6280.  
  6281.  
  6282. From:    Tim Ashman 
  6283. To:      Lee Hamel                                Msg #247, 01-Feb-89 08:07pm
  6284. Subject: Re: Turbo 3.0
  6285.  
  6286.  > When you compile a COM file in TP 3.0, no matter what the
  6287.  > size of the code is (I mean small, like 5 lines) it always
  6288.  > ends up at least 10k in size. Is there any way to change
  6289.  > this? This doesn't
  6290.  
  6291. Lee, I know of now way to make the com programs smaller.  Turbo has to set up
  6292. a bunch of stuff, (screen type, etc) with the code that it churns out.  Its to
  6293. bad.  The only good side is that with bigger programs that extra 10K doesn't
  6294. matter as much.  I guess thats why people program in Assembler, it squeezes
  6295. every bit out of each instruction.
  6296.  
  6297. Tim 
  6298.  
  6299. --- ConfMail V4.00
  6300.  * Origin: Tim's Board -- WOCin' over here (1:105/316)
  6301.  
  6302. *** This is a reply to #246.
  6303.  
  6304.  
  6305. From:    George Butts 
  6306. To:      Mark Howard                              Msg #248, 31-Jan-89 06:51pm
  6307. Subject: Tesseract
  6308.  
  6309.  
  6310.  MH>  > I got hold of a version of tesseract for Turbopascal ver 4 but
  6311.  MH>  > need one for Turbopascal Ver 5. Does anyone know if that one
  6312.  MH>  > exists?
  6313.  
  6314.   Tess-5.Arc and Tess-D.arc are available from The Buffer Board either FREQ or
  6315. direct call.  Also, the Tess-C and Tess-A modules can be had as well (C and
  6316. Assembler, the D file is the Doc file).
  6317.  
  6318.                                        George ...
  6319.  
  6320.  
  6321.  
  6322.  
  6323.  
  6324. --- msged 1.91S ZTC
  6325.  * Origin: The Buffer Board  (503) 747-7636 (opus 1:152/2)
  6326.  
  6327. *** This is a reply to #238.
  6328.  
  6329.  
  6330. From:    Ron Larsen 
  6331. To:      Greg Franklin                            Msg #249, 02-Feb-89 03:29am
  6332. Subject: Re: YEAR 2000
  6333.  
  6334. The year 2000 is a leap year (1988, 1992, 1996, 2000).  When the current
  6335. calendar was adopted, they did not make provision for a "leap century",
  6336. however this was added later (ie., after 1615).  For arbitrary reasons known
  6337. only to the contemporary Pope, the year 1600 was made retroactively (and
  6338. irrelevantly) a leap century.  The year 2000 will be the first
  6339. "self-conscious" leap century.
  6340.  
  6341. From what I have seen, there are a variety of ways of handling this; some
  6342. programs and calendars include the extra day (Feb. 30), and some do not.  To
  6343. see some examples of this, try setting your system clock to Feb. 27th, 2000
  6344. and watch what happens over the next two days -- or try adding days
  6345. incrementally in a spreadsheet.
  6346.  
  6347.  
  6348. ---
  6349.  * Origin: Ortland II HST *503-746-6990*  (Opus 1:152/1)
  6350.  
  6351. *** This is a reply to #156.
  6352.  
  6353.  
  6354. From:    Phil Barnes 
  6355. To:      All                                      Msg #250, 03-Feb-89 10:50am
  6356. Subject: WordWrap Problem
  6357.  
  6358.  
  6359.   I am not sure where I got this file, but I am having problems changing
  6360. the following WordLine into Line[Array].
  6361.  
  6362.  
  6363. PROGRAM WordWrap;
  6364.  
  6365. USES Crt;
  6366.  
  6367. CONST
  6368.   FKeyCode       = #0;
  6369.   Space          = ' ';
  6370.   Hyphen         = '-';
  6371.   BackSpace      = ^H;
  6372.   CarriageReturn = ^M;
  6373.  
  6374. VAR
  6375.   Line             : ARRAY [1..500] OF STRING[74];
  6376.   WordLine         : String[74];
  6377.   Index1,Index2    : BYTE;
  6378.   InputChar        : CHAR;
  6379.   Cnt,I            :Integer;
  6380.  
  6381. BEGIN
  6382.   Cnt       := 0;
  6383.   WordLine  := '';
  6384.   Index1    := 0;
  6385.   Index2    := 0;
  6386.   InputChar := Space;
  6387.   CLRSCR;
  6388.   InputChar := READKEY;
  6389. WHILE (InputChar <> CarriageReturn)
  6390.  DO BEGIN
  6391.     CASE InputChar OF
  6392.       BackSpace:
  6393.         BEGIN
  6394.         WRITE(BackSpace,Space,BackSpace);
  6395.         DELETE(WordLine,(LENGTH(WordLine) - 1),1)
  6396.         END;
  6397.       FKeyCode:
  6398.         BEGIN
  6399.         InputChar := READKEY;
  6400.         InputChar := Space
  6401.         END
  6402.       ELSE
  6403.         BEGIN
  6404.         WRITE(InputChar);
  6405.         WordLine := (WordLine + InputChar);
  6406.         IF (LENGTH(WordLine) >= 73)
  6407.          THEN
  6408.            BEGIN
  6409.             Index1 := 73;
  6410.             WHILE (WordLine[Index1] <> Space)
  6411.              AND (WordLine[Index1] <> Hyphen)
  6412.              AND (Index1 <> 0)
  6413.              DO Index1 := (Index1 - 1);
  6414.             IF (Index1 = 0)
  6415.              THEN Index1 := 73;
  6416.             DELETE(WordLine,1,Index1);
  6417.             FOR Index2 := 1 TO LENGTH(WordLine)
  6418.              DO WRITE(BackSpace,Space,BackSpace);
  6419.             WRITELN;
  6420.             WRITE(WordLine);
  6421.             Cnt:=Cnt+1:Line[Cnt]:=WordLine;
  6422.            END
  6423.         END
  6424.      END;
  6425.     InputChar := READKEY
  6426.     END;
  6427. WRITELN;
  6428. FOR I := 1 to Cnt DO
  6429.  WRITELN(Line[I]);
  6430. END.
  6431.  
  6432. The output comes out chopped . . . I just am not sure where to put the
  6433. Cnt:=Cnt+1:Line[Cnt]:=WordLine  statement.  Any help would be appreciated.
  6434.  
  6435. Thanks in advance,
  6436.  
  6437. Phil..
  6438.  
  6439. --- FD 2.00
  6440.  * Origin: The Fortress! Running Turbo(Pascal) Quick(BBS) - (1:286/704)
  6441.  
  6442.  
  6443. From:    John Leier 
  6444. To:      Syd Kahn                                 Msg #251, 05-Feb-89 01:36pm
  6445. Subject: Re: Printing Graphics
  6446.  
  6447. Regarding printing graphics from Turbo Pascal to printers :
  6448. i heard about a new product called graphlink from visitech software in PA.  it
  6449. intercepts BGI commands and can automatically send them to various printers
  6450. (Laser,Epson,IBM,Toshiba,NEC) in high resolution graphics modes on the
  6451. printer.  Alternately, you can send command right to its unit to drive the
  6452. printer alone.  Haven't gotten my copy yet, but should be here this week. 
  6453. $99!  Contact Visitech Software at 412-733-4775.
  6454. John
  6455. --- QuickBBS v2.03
  6456.  * Origin: City Terminal - Twin Cities MetroNet (1:282/12)
  6457.  
  6458. *** This is a reply to #194.
  6459.  
  6460.  
  6461. [251] Highest: 251
  6462. ECHO area 45 ... Pascal language echo
  6463. Type `?' by itself for help
  6464. A)rea change       N)ext (read msg)   P)rior msg         E)nter message
  6465. R)eply             =)read non-stop    -)read original